【问题标题】:Cassandra uuid or text with uuid from Java来自 Java 的 Cassandra uuid 或带有 uuid 的文本
【发布时间】:2015-11-28 16:30:08
【问题描述】:

我在想,如果我创建一个文本列,而不是创建带有 uuid 列的 Cassandra 表,最后我将在其中插入 Java.util.uuid.random 字符串。那么,如果我使用文本代替 Cassandra 单向,性能会有什么不同

【问题讨论】:

    标签: cassandra cassandra-2.0 datastax spring-data-cassandra


    【解决方案1】:

    将 UUID 存储为文本字段可能会占用更多存储空间。一个 UUID 用 16 个字节编码,但作为一个字符串它会使用更多。

    除了使用更多存储空间之外,它可能会降低操作速度,因为您正在读取和写入更多数据,并且如果它是分区键的一部分,则从长字符串与 UUID。

    【讨论】:

      【解决方案2】:

      “UUID(通用唯一 id)比较器类型用于避免列名冲突。”

      来自 Cassandra 2.0 和 2.1 中 UUID 的文档: http://docs.datastax.com/en/cql/3.1/cql/cql_reference/uuid_type_r.html

      如果您选择使用文本字段并插入字符串,则由应用程序代码来确保其正确的 UUID。但是,如果使用 UUID 的数据库字段类型,数据库将确保正确的 UUID。

      请在相关帖子How to auto generate uuid in cassandra CQL 3 command line中查看此示例:

      "INSERT INTO users(uid, name) VALUES(uuid(), 'my name');"

      【讨论】:

        猜你喜欢
        • 2018-10-21
        • 1970-01-01
        • 1970-01-01
        • 2012-01-05
        • 2015-04-02
        • 1970-01-01
        • 2017-06-17
        • 2016-04-16
        • 2018-02-09
        相关资源
        最近更新 更多