【问题标题】:Cassandra - Thrift/CQL query withoult using the row cacheCassandra - 不使用行缓存的 Thrift/CQL 查询
【发布时间】:2012-09-26 07:46:28
【问题描述】:

我的列族已启用行缓存。我有批处理,它遍历所有行以找到那些应该被删除的行。由于正在刷新结果行缓存 - 它不包含“真实数据”,而是我的批处理结果。

我可以执行 Thrift/CQL 查询来告诉 Cassandra 避免行缓存,即使它已启用?这对 Map-Reduce 算法很有用。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    为什么要避免行缓存,因为它被设计为始终具有与磁盘上的数据相同的数据? (即,写入首先写入行缓存,然后磁盘和读取执行相同的操作)。避免使用具有最新数据的行缓存的用例是什么?

    另外,我听说行缓存仅对 5% 的用例有帮助,通常应该不使用它。我认为 PlayOrm 使用行缓存的用例可能是 5% 的用例之一,它可以告诉 cassandra 缓存它使用的 3 个索引列族,以便 Scalable-SQL 查询快速进入它的分区,因此查询会快得多,但大多数用例通过行缓存减慢系统速度。

    【讨论】:

    • 我们有大量读取访问的细行 - 这是行缓存的完美用例。为什么我应该将只需要读取一次的行缓存数据加载到行缓存中(在批处理作业期间)?
    猜你喜欢
    • 2013-06-07
    • 1970-01-01
    • 2014-11-15
    • 2019-05-18
    • 2015-03-10
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多