每个分区限制20亿个单元仍然有效吗?
http://wiki.apache.org/cassandra/CassandraLimitations
假设您每个单元平均节省16个字节。然后你“只”可以在一台机器上保留16 * 2e9字节= 32 GB的数据(加上列名)! 或者,如果您想象一个二次表,您将能够存储44721行,每行44721列!?
听起来不像大数据。
这是对的吗?
谢谢!
马尔特
答案 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 *如何保存数据的更多信息。