如果我不做nodetool flush
,Cassandra不会将表持久化到磁盘吗
我使用CQL创建了表和键空间,但在刷新时仅看到* -data.db文件。
没有它,数据会丢失吗?
答案 0 :(得分:3)
将数据写入节点时,首先将其写入磁盘上的提交日志,然后将其写入RAM中的memtable。
Cassandra将在内存中的数据超出memtable_cleanup_threshold时将其从RAM中刷新,并将其写入磁盘上的SSTable中。只有在这种情况发生时,才会清除提交日志。即使不满足memtable_cleanup_threshold,Nodetool flush也会将所有内存表转换为SSTable。
因此答案是否定的,您的数据不会丢失。最终,内存大小将达到阈值,并写入磁盘上的SSTable中。