AFAIK,当Cassandra进行写操作时,它会同时写入Memtable以及写入磁盘上的提交日志(附加)。如果提交消息很小,太小而无法填满SSD页面,从长远来看,这会不会造成碎片和写放大? (磁盘填满后)
答案 0 :(得分:0)
此datastax文章可能会回答您的问题: https://www.datastax.com/dev/blog/updates-to-cassandras-commit-log-in-2-2
特别是:
自1.1版以来,Cassandra中的提交日志基础结构的一项功能是能够重用段。这样做是为了减少日志记录驱动器上的碎片-在刷新包含它们的数据之后,数据库会保留许多commitlog段,以供覆盖,这意味着大多数时候不需要提交日志分配新空间以便写入。这并不能消除可能由日志引起的所有碎片,因为在进行内存刷新时,它将在达到其空间配额后继续写入,然后释放过量分配的空间。不过,由于分配和释放的空间较少,因此在驱动器上引入碎片的可能性较小。