【问题标题】:What is the Difference between tuple and user defined type in CassandraCassandra中的元组和用户定义类型有什么区别
【发布时间】:2016-12-16 03:53:54
【问题描述】:

谁能告诉我Cassandra中元组和用户定义类型的区别

【问题讨论】:

    标签: cassandra datastax


    【解决方案1】:

    Datastax documents

    当您使用元组时,您可以使用元组来替代用户定义的类型 不需要添加新字段。

    User-defined types 为您提供了更大的灵活性,可以更改字段数量以防您稍后需要更新数据,并允许您为每个字段指定有意义的名称。 UDT 工作原理的经典示例是地址。

    CREATE TYPE mykeyspace.address (
      street_number int,
      street text,
      city text,
      zip_code int,
      phones set<text>
    );
    

    并创建表格

    CREATE TABLE users (
      id uuid PRIMARY KEY,
      address frozen <address>
    );  
    

    等价的元组是

    CREATE TABLE users (
      id uuid PRIMARY KEY,
      address <tuple<int, text, text, int, set<text>>
    );
    

    因此,对于字段名称不重要的固定数量的收集数据,元组最适合(地址列绝对不是一个好的用例;字段很重要--street_numberzip_code 可能会混淆- - 以后您将无法添加详细字段)。 UDT 将允许这样做,并且还允许您按字段名称进行查询。

    此外,性能没有显着差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2017-06-29
      • 2010-10-02
      相关资源
      最近更新 更多