cassandra的table结构分析

组合键(Compound keys)和聚类(clustering)

组合键提供了聚类功能。例如定义(a, b) PRIMARY KEY是一个组合键。ui

建议使用uuid类型做为key,便于进行序列化操做。排序

cassandra规定组合键的第一个成员a用于分区(partition),后面的成员b则用于聚类。it

实际存储时,a值相同的行存储在一块儿,并按照b进行排序,这就使查询等操做十分高效。io

a值相同的行在进行插入,更新和删除等操做时是原子的,互不干扰的。序列化

归集列(Collection columns)

CQL 3 引入如下归集类型map

• 集合
• 列表
• 映射查询

之前的cassandra版本在处理一个用户多个邮箱等问题时不如SQL优雅(SQL只需再创建一个邮箱表就能够了),集合

新的cassandra CQL 3版本能够经过把邮箱字段定义为归集类型便可。时间

再好比对于一首mp3歌曲,能够用集合类型设定tags,用list类型设定评论,用map类型设定点播时间等。co

待续...