Cassandra分区与NoSql分区

时间:2018-04-10 09:04:28

标签: cassandra nosql cassandra-3.0

我已经了解了差异b / w Cassandra分区键,复合键,聚类键。但没有找到足够的信息来理解cassandra中如何处理分区 在cassandra中,分区键的范围存储在类似分区/分片的节点上。我的理解是否正确..?
每个分区键在DB中是否有不同的文件(在系统级别)?如果是这样,读数会不会更慢..?
如果每个分区键在DB中没有不同的文件。怎么处理..?

1 个答案:

答案 0 :(得分:0)

数据存储在Cassandra中,称为分区的宽行。每行都有一个用于标识该分区的分区键。为了在集群中分发数据,Cassandra正在使用分区器,这些分区器基本上是分区键的计算哈希值,并且数据基于这些值在集群中分布。 Cassandra中的默认分区程序是Murmur3Partitioner。

在操作系统级别,数据存储在sstables文件中。分区可以分布在许多sstables上。这就是为什么你还需要压缩,这是整合那些sstables的过程,所以你的分区不会分散在很多sstables中。减少分区分布的sstables数量也会缩短读取时间。值得注意的是,sstables是不可改变的。

我建议阅读this,尤其是“Cassandra如何读取和写入数据”。