2014-07-12 67 views
1

這20億個細胞每個分區的限制仍然有效嗎?Cassandra細胞數量限制

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

比方說,您節省每單元平均16個字節。那麼你「只是」可以在一臺機器上堅持16 * 2e9字節= 32 GB的數據(加上列名)! 或者如果你想象一個二次表,你將能夠存儲44721行,每列44721列!?

聽起來不像大數據。

這是正確的嗎?

謝謝!

馬爾特

+0

這是每個分區不是每個數據庫。您在單個節點上擁有許多(百萬)個分區。 – RussS

回答

3

2.十億細胞的限制仍然有效,你最想likly如果你開始看到每個分區的許多細胞重塑你的數據。

單個分區中的最大單元格數(行x列)爲 20億。

一個分區是由它們在CQL中的分區鍵來定義的,它將定義一個特定的數據段將在哪裏生存。例如,如果我有兩個節點的虛構範圍爲0-100和100-200。散列在0到100之間的分區鍵將駐留在第一個節點上,散列值在100和200之間的分區鍵將駐留在第二個節點上。實際上,Cassandra使用Murmur3算法對生成-2^63和2^63-1之間的值的主鍵進行散列。

真正的限制往往取決於您對分區鍵有多少個唯一值。如果在單個列中沒有很好的唯一性,許多用戶將列組合起來以生成更多唯一性(複合主鍵)。對散列和如何C *

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

更多信息保存數據。

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

+0

謝謝! 我以爲一個節點是一個分區,分區鍵決定了該行所在的分區。 但現在很明確:) – Malte