小智 7
有几种不同的选项可用,这实际上取决于您的情况,哪个是最好的,但这里是可用技术的快速概述。
备份数据存储时,您基本上要防止两件事:
Cassandra 在其设计中内置了数据复制功能。复制因子配置选项告诉 cassandra 每条记录要存储多少个副本。复制因子的常见选择是 3,因为它在性能和持久性之间取得了不错的平衡。如果您的复制因子大于 1,则至少可以承受一些节点的丢失。关于这个主题还有很多要说的,但您可以在别处阅读相关内容。
但是,复制并不能保护您免受通过 API 进行的不良数据更改,因为大量删除将复制与良好插入相同的内容。为了帮助您解决这个问题,cassandra 提供了快照功能。基本上,它将数据文件硬链接到数据目录中的快照文件夹。这可能是一种非常便宜的方法,具体取决于您的数据更改的频率和随机性。一种可能的方法是在 cassandra 机器的磁盘上保留多个快照,前提是您有足够的空间。
如果您有空闲的 IO 容量,您实际上可以将这些备份转移到单独的机器上。根据我的经验,这会对磁盘和网络吞吐量造成巨大损失。
最后,从 Cassandra 0.7 开始,您可以配置多数据中心复制。本质上,您可以拥有分布在世界各地的集群的多个副本。如果您将其与快照结合使用,您将有多种不同的选项可以在出现问题时恢复数据。
请记住,制作备份可获得 1 分,恢复备份可获得 10,000 积分。想想您将如何测试您的备份,以确保它们可以在时机成熟时实际恢复。