是否可以在cassandra中恢复已删除的列数据?

dsekswqp  于 2021-06-10  发布在  Cassandra
关注(0)|答案(2)|浏览(573)

如果我们使用下面的delete查询删除了cassandra中的一些(20个查询)数据。从cycling.cyclist\u name中删除lastname,其中id=c7fceba0-c141-4207-9494-a29f9809de6f;
那么,我们如何在cassandra中恢复/查找上述删除的数据呢?请帮忙

8cdiaqws

8cdiaqws1#

如果还没有压缩,那么您可以通过从sstables恢复数据 sstabledump 并从生成的json文件中获取它们。
但正确的答案是使用某种备份解决方案—通过opscenter,或通过 nodetool snapshot 更多信息可以在下面的datasax支持团队文章中找到。

mrwjdhj3

mrwjdhj32#

Cassandra不会立即删除数据。正如alex所暗示的,在压缩之前,它仍然会在sstables(数据文件)中,并且只标记有删除标志(tombstoned)。
您可以将sstables的内容转储到文本文件中,然后搜索您的id。
对每个sstable执行以下操作:

sstabledump mc-3-big-Data.db > dump2019a

这些文本文件将包含您的数据,并带有“删除信息”标志。然后您可以搜索您的id并检索数据。
不过,你应该在行动之前迅速行动。

相关问题