Cassandra - 自定义类型的优点

Posted

技术标签:

【中文标题】Cassandra - 自定义类型的优点【英文标题】:Cassandra - advantages of custom type 【发布时间】:2015-06-21 08:13:04 【问题描述】:

我打算将 Java 对象用作自定义类型并将其存储在 Cassandra。我从类中取出 2 个数据成员并将它们设为主键,并将其余数据成员保留在自定义类型中。 data members of my class: name, date_of_birth, occupation, last_visit, family_members, total_income primary key: name, date_of_birth cassandra custom type members: occupation, last_visit, family_members, total_income 与按照 Cassandra 数据类型存储单个数据成员相比,自定义数据类型在写入或读取时是否具有任何性能优势。

【问题讨论】:

【参考方案1】:

与按照 Cassandra 数据类型存储单个数据成员相比,自定义数据类型在写入或读取时是否具有任何性能优势。

不是真的。用户定义类型 (UDT) 的数据存储在行中的单个列中,这应该比多个单独的列更快地读取。但是,随着数据针对结果集进行序列化,您在那里获得的任何性能提升都将很快被抹去。虽然 CQL 允许您根据需要读取 UDT 的各个字段,但 Cassandra 仍然必须读取该列的所有内容。

请务必注意,用户定义的类型并不是为了提高性能。它们旨在提供实现少量非规范化的灵活性。

这只是一个建议,但也许将members 作为一个集合更有意义,每个项目都包含每个家庭成员的数据?

【讨论】:

以上是关于Cassandra - 自定义类型的优点的主要内容,如果未能解决你的问题,请参考以下文章

C语言—自定义类型

C语言—自定义类型

C语言之自定义类型

自定义类型详解(结构体,枚举,联合体)

C语言自定义数据类型:结构体,枚举,联合

C语言自定义数据类型:结构体,枚举,联合