如果我们使用下面的delete查询删除了cassandra中的一些(20个查询)数据。从cycling.cyclist\u name中删除lastname,其中id=c7fceba0-c141-4207-9494-a29f9809de6f;那么,我们如何在cassandra中恢复/查找上述删除的数据呢?请帮忙
8cdiaqws1#
如果还没有压缩,那么您可以通过从sstables恢复数据 sstabledump 并从生成的json文件中获取它们。但正确的答案是使用某种备份解决方案—通过opscenter,或通过 nodetool snapshot 更多信息可以在下面的datasax支持团队文章中找到。
sstabledump
nodetool snapshot
mrwjdhj32#
Cassandra不会立即删除数据。正如alex所暗示的,在压缩之前,它仍然会在sstables(数据文件)中,并且只标记有删除标志(tombstoned)。您可以将sstables的内容转储到文本文件中,然后搜索您的id。对每个sstable执行以下操作:
sstabledump mc-3-big-Data.db > dump2019a
这些文本文件将包含您的数据,并带有“删除信息”标志。然后您可以搜索您的id并检索数据。不过,你应该在行动之前迅速行动。
2条答案
按热度按时间8cdiaqws1#
如果还没有压缩,那么您可以通过从sstables恢复数据
sstabledump
并从生成的json文件中获取它们。但正确的答案是使用某种备份解决方案—通过opscenter,或通过
nodetool snapshot
更多信息可以在下面的datasax支持团队文章中找到。mrwjdhj32#
Cassandra不会立即删除数据。正如alex所暗示的,在压缩之前,它仍然会在sstables(数据文件)中,并且只标记有删除标志(tombstoned)。
您可以将sstables的内容转储到文本文件中,然后搜索您的id。
对每个sstable执行以下操作:
这些文本文件将包含您的数据,并带有“删除信息”标志。然后您可以搜索您的id并检索数据。
不过,你应该在行动之前迅速行动。