使用nodetool和cqlsh复制命令进行数据备份有何区别?

4

目前我们在Cassandra keyspace中备份表格的数据有两种方法。我们可以使用nodetool命令或者从cqlsh终端使用copy命令。

1) 这些命令之间有什么区别?

2) 哪个命令是最适合的?

3) 如果我们使用nodetool进行备份,我们通常会在执行nodetool snapshot command之前将数据从内存表刷新到SSTables。所以我的问题是,如果我们使用cqlsh copy命令,是否应该采用相同的数据刷新技术?

感谢您的帮助。

非常感谢。


将来请尽量一次只提出一个问题。 - Aaron
2个回答

5

非常好的问题!

1)这些命令有什么区别?

运行nodetool snapshot会在请求的键空间上创建SSTable文件的硬链接。这与从(Linux)命令行运行以下命令相同:

ln {source} {link}

一个本质上与在表上执行

2
我认为值得补充的是,COPY FROM命令可以用于导入少于200万行的数据集。 - Horia

1

nodetool快照是处理任何数量的数据的好方法,并且在几秒钟内创建了一个硬链接。复制命令将花费更多时间,因为它取决于数据和集群的大小。对于较少的数据和测试,您可以使用复制命令,但对于生产环境,建议使用nodetool快照。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接