Cassandra如何使用记忆

时间:2014-05-02 07:51:24

标签: cassandra

Cassandra在内存中存储了哪些数据?索引,元数据,密钥?

因为对于Couchbase,即使数据持久保存到磁盘,所有元数据和密钥仍在内存中。这就产生了一个问题,因为内存使用量会不断增加,一旦内存最大化,就不可能进一步插入。

Cassandra在这个意义上是否相似?

2 个答案:

答案 0 :(得分:1)

Cassandra将所有已配置的列族的键/值对存储在称为Memtables的内存数据结构中。之后,它会在共映射期间或达到阈值(~64mb可配置)时将内存中的数据刷新到磁盘。看看这个cassandra wiki:http://wiki.apache.org/cassandra/MemtableThresholds

答案 1 :(得分:0)

Cassandra确实只需要三件东西永久存储在记忆中:(1)Bloomfilters(非常稀疏),(2)row& (3)列缓存(任何iff存在)。 另外Cassandra需要最大表的内存 - 我想最大的ResultSet就足够了。所以Cassandra可能会有相当下降的记忆。