我理解了不同的b/w Cassandra分区键,复合键,聚类键。但是没有找到足够的信息来理解如何在cassandra中处理分区。
在cassandra中,分区键的范围存储在一个节点上,比如分区/碎片。我的理解对不对..?
在DB.中,每个分区键是否有不同的文件(在系统级别)?如果是这样的话,读起来会不会慢一点?
如果每个分区键在DB中没有不同的文件。怎么处理的..?
发布于 2018-04-11 06:21:21
数据以称为分区的宽行存储在Cassandra中。每一行都有一个分区键,用于标识该分区。为了在集群中分发数据,Cassandra使用的是分配器,它基本上是计算分区键的散列,并且数据是基于这些值在集群中分布的。Cassandra中的默认分区程序是Murmur3Partitioner。
在操作系统级别,数据存储在可存储的文件中。一个分区可以分布在许多马厩上。这就是为什么您还需要压缩,这是巩固这些马厩的过程,这样您的分区就不会分散在许多马厩上。减少分区分布的可扩展的存储空间的数量,也将提高读取时间。值得注意的是,马厩是不可变的。
我建议阅读这,特别是“Cassandra如何读写数据”。
https://stackoverflow.com/questions/49749573
复制相似问题