Cassandra 在更新记录时是仅存储受影响的列,还是在每次更新时存储所有列?

  • 本文关键字:存储 更新 影响 新记录 Cassandra cassandra
  • 更新时间 :
  • 英文 :


如果答案是肯定的,

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

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

每个问题只问一个问题。

这完全取决于你。 如果写入一个列值,它将只保留该列值。 如果将它们全部写入,即使它们与当前值相同,它们也会全部保留。

无论我们检索每一列还是某些列都会对性能产生很大的影响

情况肯定是这样。 对较小或尚未写入或删除的列值的查询将比相反的查询快得多。

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

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

最新更新