带或不带刷新节点的Cassandra数据持久性

时间:2018-07-02 20:27:25

标签: cassandra-3.0

如果我不做nodetool flush,Cassandra不会将表持久化到磁盘吗 我使用CQL创建了表和键空间,但在刷新时仅看到* -data.db文件。 没有它,数据会丢失吗?

1 个答案:

答案 0 :(得分:3)

将数据写入节点时,首先将其写入磁盘上的提交日志,然后将其写入RAM中的memtable。

Cassandra将在内存中的数据超出memtable_cleanup_threshold时将其从RAM中刷新,并将其写入磁盘上的SSTable中。只有在这种情况发生时,才会清除提交日志。即使不满足memtable_cleanup_threshold,Nodetool flush也会将所有内存表转换为SSTable。

因此答案是否定的,您的数据不会丢失。最终,内存大小将达到阈值,并写入磁盘上的SSTable中。