我理解Cassandra中SSTable的概念。我还测试了在nodetool flush之后使用insert创建的不同版本的文件。
我还设置了快照备份和增量备份,并测试了它的正常运行。
出于测试目的,我删除了所有节点中的所有sstable文件。奇怪的是,我仍然能够选择数据。 有人可以解释一下cassandra从哪里获取数据吗?
此致 SID
答案 0 :(得分:1)
您查询的记录可以在ROW缓存中找到,也就是 memtables (内存)。
因此,一旦您奇怪地重新启动节点,您将再次返回结果,因为重播了提交日志,最终为您构建了这些SSTable。
清除所有SSTable并提交日志并重新启动您的节点。然后您可以观察到您的查询没有记录。