Cassandra 中的手动压缩
Posted
技术标签:
【中文标题】Cassandra 中的手动压缩【英文标题】:Manual Compaction in Cassandra 【发布时间】:2020-07-12 21:51:11 【问题描述】:有什么方法可以在 Cassandra 中制作压缩过程手册? 什么时候自动发生?时间段是多少? 另外,memtable的阈值限制是怎么考虑的?
【问题讨论】:
几年前在 Stack 的 DBA 网站上有一个关于此的问题,但关于压缩的要点仍然主要相关,值得一看:dba.stackexchange.com/questions/71781/cassandra-maintenance 【参考方案1】:Cassandra 中的压缩是自动发生的,但它的频率取决于所选的压缩策略(默认为大小分层压缩,您需要至少有 4 个大小相似的 SSTable 文件才能触发压缩)。 nodetool compact
也支持手动压缩,但不建议这样做(或至少使用 nodetool compact -s
)。
我强烈建议您在DataStax Academy 上观看 DS201 和 DS210 课程,并阅读DSE Architecture Guide(它也适用于 Cassandra)。
【讨论】:
【参考方案2】:如果你想手动开始压缩,你可以使用 nodetool compact 命令,这里是文档的链接:
http://cassandra.apache.org/doc/latest/tools/nodetool/compact.html
什么时候发生压缩,这取决于你的压缩策略。您可以查看此链接,您可以在其中找到有关压缩的一些详细信息:
https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/dml/dmlHowDataMaintain.html
我希望这会有所帮助!
【讨论】:
以上是关于Cassandra 中的手动压缩的主要内容,如果未能解决你的问题,请参考以下文章
Spark Cassandra 连接器:SQLContext.read + SQLContext.write 与手动解析和插入(JSON -> Cassandra)