【问题标题】:Cassandra row cache - does it always serve data from ram?Cassandra 行缓存 - 它是否总是从 ram 提供数据?
【发布时间】:2012-09-20 00:58:14
【问题描述】:

行缓存在首次访问单列时将整行加载到内存中。新列的更新和插入更新行缓存 - 可以看作是直写。

假设我有足够的内存来缓存我的行,我是否可以确保读取访问将始终从内存提供,而与缓存行上的更新/插入无关?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    简短的回答:是的。行缓存将把你降低到微秒,而不是毫秒。

    更长的答案:从技术上讲,只有在第一次读取之后,写入才会被添加到缓存中,除非它存在现有条目。 Cassandra 确实支持定期保存其缓存,以便在下次重新启动时对其进行预热。

    【讨论】:

      【解决方案2】:

      是的,但我也读到它只会将性能提高 5% 左右,而且在 95% 的情况下,你永远不应该打开它。

      在 playOrm 项目中,我们想知道它是否会将性能提高 40% 左右甚至 100%,因为我们只会缓存索引表中的行,当这些行分布在集群中时会加速我们的所有查询。我们已经在 60 毫秒内使用 S-SQL(可扩展 SQL)对分区中的 1,000,000 行进行查询,并且一旦 playOrm 添加嵌套的前瞻循环连接,它可能会变得更快,这可能比旧的 DBMS 嵌套块更快循环连接。

      【讨论】:

        猜你喜欢
        • 2018-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-30
        • 1970-01-01
        • 1970-01-01
        • 2013-12-06
        • 2020-09-10
        相关资源
        最近更新 更多