【问题标题】:Does Cassandra store only the affected columns when updating a record or does it store all columns every time it is updated?Cassandra 是在更新记录时仅存储受影响的列还是在每次更新时存储所有列?
【发布时间】:2020-10-05 17:36:27
【问题描述】:

如果答案是肯定的,

  1. 这是否意味着与 Mongo 或 RDMS 不同,我们检索每一列还是某些列都会对 Cassandra 中的性能产生很大影响?(我不是在谈论网络传输时间,因为它会影响上述所有内容)

  2. 这是否意味着在压缩过程中,它不能在找到主键的最新行时停止,它必须遍历 SSTables 中的完整集合? (我知道会有优化,因为之前压缩的 SSTable 将最多出现一次)

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    每个问题请只问一个问题。

    这完全取决于您。如果您写入一列值,它将仅保留该列值。如果你把它们都写了,它们都将保持不变,即使它们与当前值相同。

    我们是否检索每一列或某些列都会对性能产生很大影响

    确实如此。对较小的列值或尚未写入或删除的列值的查询将比相反的要快得多。

    在压缩过程中,它不能只是在找到主键的最新行时停止,它必须遍历 SSTables 中的完整集合?

    是的。不仅在压缩期间,读取查询也会检查多个 SSTable 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      相关资源
      最近更新 更多