【问题标题】:Is Cassandra in memory i.e. 100% data is cache?Cassandra 是否在内存中,即 100% 的数据是缓存?
【发布时间】:2018-12-29 08:42:08
【问题描述】:

在 cassandra 中,sstable 存储在磁盘上,而 memtable 存储在缓存中,所以从 sstable 到 memtable 的转换是 100%,即如果有 10 GB 的 sstable,那么它需要 10 GB 的内存吗?

【问题讨论】:

    标签: database-design cassandra nosql cassandra-2.0 nosql-aggregation


    【解决方案1】:

    不,那不是真的。为了更好地理解检查 memtable 相关的 cassandra 配置,例如:memtable_heap_space_in_mb – 这是 Apache Cassandranode 上所有memtables 的总分配空间。默认情况下,这是堆大小的四分之一。

    还阅读了有关 cassandra 的写入和读取路径。

    【讨论】:

    • 谢谢拉克斯米坎特。那么这是否意味着对于每个读取查询,它首先会检查到内存 memtable 中,然后使用布隆过滤器检查到 sstable 中,这就是为什么读取相对于写入慢的原因,因为写入直接融合到 memtable 和提交日志中。出于好奇,它是如何在 memtable 中知道的,是否也有用于 memtables 的布隆过滤器?
    • cassandra 中的 bloom 过滤器仅与 sstables 相关,而不与 memtables 相关,因为内存读取已经非常快了。欲了解更多信息,请查看此链接docs.datastax.com/en/cassandra/3.0/cassandra/dml/…
    猜你喜欢
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多