【发布时间】:2017-10-26 19:49:10
【问题描述】:
我了解 Cassandra 中 SSTable 的概念。我还测试了在 nodetool 刷新后使用 insert 创建的不同版本的文件。
我还设置了快照备份和增量备份,并测试它工作正常。
出于测试目的,我从所有节点中删除了所有 sstable 文件。奇怪的是,我仍然能够选择数据。 有人可以解释一下 cassandra 从哪里获取数据吗?
问候 席德
【问题讨论】:
标签: cassandra-3.0
我了解 Cassandra 中 SSTable 的概念。我还测试了在 nodetool 刷新后使用 insert 创建的不同版本的文件。
我还设置了快照备份和增量备份,并测试它工作正常。
出于测试目的,我从所有节点中删除了所有 sstable 文件。奇怪的是,我仍然能够选择数据。 有人可以解释一下 cassandra 从哪里获取数据吗?
问候 席德
【问题讨论】:
标签: cassandra-3.0
您查询的记录在 ROW 缓存中可用,即 memtables(内存)。
因此,一旦您奇怪地重新启动节点,您将再次获得结果因为提交日志被重放,最终为您构建了这些 SSTable。
清除所有 SSTables 和提交日志并重新启动您的节点。然后您可以观察到您的查询没有记录。
【讨论】: