卡桑德拉细胞数量限制

时间:2014-07-12 11:32:47

标签: cassandra limit cell bigdata

每个分区限制20亿个单元仍然有效吗?

http://wiki.apache.org/cassandra/CassandraLimitations

假设您每个单元平均节省16个字节。然后你“只”可以在一台机器上保留16 * 2e9字节= 32 GB的数据(加上列名)! 或者,如果您想象一个二次表,您将能够存储44721行,每行44721列!?

听起来不像大数据。

这是对的吗?

谢谢!

马尔特

1 个答案:

答案 0 :(得分:3)

20亿个单元格限制仍然有效,如果您开始看到每个分区有多个单元格,那么您最有可能想要重新构建数据。

  

单个分区中的最大单元数(行x列)   20亿。

分区由CQL中的分区键定义,并定义特定数据块的存储位置。例如,如果我有两个虚构范围为0-100和100-200的节点。散列在0到100之间的分区键将驻留在第一个节点上,散列值介于100和200之间的分区键将驻留在第二个节点上。实际上,Cassandra使用Murmur3算法来散列主键,生成介于-2 ^ 63和2 ^ 63-1之间的值。

真正的限制往往取决于您对分区键有多少唯一值。如果您在单个列中没有很多唯一性,则许多用户会将列组合在一起以生成更多唯一性(复合主键)。

http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/create_table_r.html

有关散列以及C *如何保存数据的更多信息。

http://www.datastax.com/documentation/cassandra/2.0/cassandra/architecture/architecturePartitionerAbout_c.html