【问题标题】:Does Cassandra's commit log have a write amplification problem when placed on SSDs?Cassandra 提交日志放在 SSD 上会不会有写放大问题?
【发布时间】:2019-07-09 23:31:20
【问题描述】:

AFAIK,当 Cassandra 进行写入时,它会写入 Memtable 以及写入磁盘上的提交日志(附加)。如果提交消息非常小,太小而无法填满 SSD 页面,从长远来看,这不会导致一些碎片和写入放大吗? (磁盘满后)

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    这篇 datastax 文章可能会回答您的问题: https://www.datastax.com/dev/blog/updates-to-cassandras-commit-log-in-2-2

    具体来说:

    自 1.1 版以来,Cassandra 中的提交日志基础架构的一项功能就是能够重用段。这样做是为了减少日志驱动器上的碎片——一些提交日志段将由数据库保留,以便在它们包含的数据被刷新后覆盖,这意味着大多数时间提交日志不需要分配新空间以便写入。这并不能消除日志可能导致的所有碎片,因为当内存表刷新正在进行时,它会在达到其空间配额后继续写入,然后它会释放过度分配的空间。尽管如此,由于分配和释放的空间较少,因此在驱动器上引入碎片的可能性较低。

    【讨论】:

      猜你喜欢
      • 2018-01-19
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 2015-10-19
      相关资源
      最近更新 更多