cassandra - Cassandra的提交日志放在SSD上会不会有写放大问题?
问题描述
AFAIK,当 Cassandra 进行写入时,它会写入 Memtable 以及写入磁盘上的提交日志(附加)。如果提交消息非常小,太小而无法填满 SSD 页面,从长远来看,这不会导致一些碎片和写入放大吗?(磁盘填满后)
解决方案
这篇 datastax 文章可能会回答您的问题: https ://www.datastax.com/dev/blog/updates-to-cassandras-commit-log-in-2-2
具体来说:
自 1.1 版以来,Cassandra 中的提交日志基础设施的一个特性就是能够重用段。这样做是为了减少日志驱动器上的碎片——一些提交日志段将由数据库保留,以便在它们包含的数据被刷新后覆盖,这意味着大多数时间提交日志不需要分配新空间以便写入。这并不能消除日志可能导致的所有碎片,因为当内存表刷新正在进行时,它会在达到其空间配额后继续写入,然后它会释放过度分配的空间。尽管如此,由于分配和释放的空间较少,因此在驱动器上引入碎片的可能性较低。
推荐阅读
- android - 如何使用远程消息启动 android 应用程序?
- regex - 如何用引号将所有单元格括起来?
- r - 使用 dplyr 仅过滤唯一值列表中的一个
- angular - 有没有办法让同一组件上的不同指令调用在它们之间进行通信?
- r - 更改ggboxplot中点的SIZE和ALPHA?(右)
- webpack - 使用 webpack 时未加载 scss 文件
- java - 在 VSCode 中使用 jar 文件中的类
- python - Plotly:如何控制双 y 轴前面的轨迹?
- javascript - 如何从对象数组中选择所有特定的键值
- resources - Adobe Acrobat Pro 在 OCR 期间未使用所有资源 - 这正常吗?