我目前正在精炼一个cassandra备份解决方案。Cassandra保持增量备份和commitlog归档?
,所以我在点绊脚石,如果我要救incremental_backups和commitlog_archive。
如果我理解正确的,无论从
快照+增量备份+ Commitlog(只有这之后的最后冲洗)
OR
快照+ Commitlog从归档
应该结束恢复在同一组数据中,对吗? 或者后者的选择要慢得多,因为重播需要比检查sstables完整性更长的时间?
我应该保持两个吗?
我目前正在精炼一个cassandra备份解决方案。Cassandra保持增量备份和commitlog归档?
,所以我在点绊脚石,如果我要救incremental_backups和commitlog_archive。
如果我理解正确的,无论从
快照+增量备份+ Commitlog(只有这之后的最后冲洗)
OR
快照+ Commitlog从归档
应该结束恢复在同一组数据中,对吗? 或者后者的选择要慢得多,因为重播需要比检查sstables完整性更长的时间?
我应该保持两个吗?
我希望增量备份超过提交日志。
增量备份导致链接,然后可以重播回使用sstableloader现场卡桑德拉集群不变sstables。启用增量备份(默认情况下禁用)时,Cassandra将每个刷新的SSTable硬连接到keyspace数据目录下的备份目录。增量备份的缺点是全部或全部无法使用,因此无法为增量备份选择列族的子集。正如我前面提到的那样,将Cassandra实时群集恢复到不同的列系列的能力使得增量备份更为出色。而且您还必须管理增量备份空间,因为没有实用程序可以随时间清理增量备份,甚至不需要重新分区。
提交日志的优点是,它提供了在时间恢复能力的点。要从提交日志中恢复,您必须转到最新的增量备份或最新的快照(在您的前一种情况下),停止数据库,清除现有的提交日志,将提交日志复制到最近的增量备份或快照,运行前滚实用工具将数据库带到您所需的准确时间点。
但是,如果你只使用提交日志,数据库停机时间将会更高,因为你有更多的提交日志来处理,而数据库已关闭。所以,我会使用增量备份方法,然后使用提交日志。
最后,更好地在这里使用一个专业的工具了,而不是黑客这个你自己 - 从多个客户的经验,第一和第二的方法是充满了潜在的错误。
这取决于您的还原要求。如果你想恢复到特定的时间,那么你需要快照,增量和提交日志。
为什么提交日志?
因此,对于特定的时间恢复,您需要处理提交日志以及完整的快照和增量备份。