隐去业务相关内容,使用过程如下:
1.分析需求,设计实体类;重构则阅读目前代码,梳理业务逻辑,重新设计实体类
2.根据Cassandra特性和业务需要设计数据库表
Cassandra的Primary key也要保证数据的唯一性标识,但是其更大的作用是服务于查询,也就是说Cassandra的主键更多是面向于业务来设计的,且Cassandra的表的primary key不能动态改变。
Cassandra主键包含了两个部分,PartitionKey和ClusterKey。在说明这两个key之前需要简单的介绍一下Cassandra的一些基本特性,在关系数据库的结构中当数据量增多的时候会导致单个表的数据查询性能下降,设计者也缺少好的策略去自动分割这些大量的数据。Cassandra则是采用partition来对于数据进行划分保存,在良好设计的情况下Cassandra就会按照定义的策略自动对数据进行分区,而PartitionKey就是Cassandra分区的依据,通过一个一致性hash函数计算这个PartitionKey的token进而直接找到其所在的分区。
Cassandra对于查询的支持很弱,限制如下:
Cassandra的查询必须在主键列上,或者查询的字段有二级索引。只有主键支持group by。
分区主键(PartitionKey第一主键)只能用=号查询。使用分区主键查询的话,需要指定全部的分区主键,不能使用部分分区主键查询。
对于排序主键(ClusteringKey第二主键),可以使用>,&