云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_云存储是啥意思_新用户

小七 141 0

Cassandra快照在备份和恢复方面的局限性

企业经常使用快照进行Cassandra备份和恢复,或恢复。Cassandra数据库快照可以帮助企业及时从意外数据删除或应用程序损坏引起的问题中恢复。但是,在使用快照进行Cassandra备份时,有几个重要的限制:卡桑德拉快照由于压缩而导致存储放大Cassandra快照需要一个调度器来有效地工作压实引起的储存放大Cassandra中的快照使用硬链接特性,其中目录条目将名称与底层文件系统(Ext4、XFS)中的文件系统上的文件相关联。硬链接会增加快照所针对的所有文件的引用计数当获取表的快照时,底层文件系统将增加与该表对应的存储目录中所有文件的引用计数。这样可以确保如果删除表并且用户尝试清理存储目录,则不会删除实际文件,因为快照包含对存储目录及其包含的文件的附加引用。然而,由于另一个并行的Cassandra过程,即压缩,这个过程将导致存储放大。在压缩过程中,将特定生成的文件组合起来,以创建一个新的SSTable文件,该文件已完成清理,删除的逻辑删除,删除的列已清理,数据已排序压缩完成后,通常会删除与上一代对应的sstable。但是,一旦创建了快照,就不能删除上一代的SSTables,因为快照具有指向这些文件的附加引用指针。现在有两组文件,一组是快照引用的文件,另一组是压缩过程创建的文件。这会导致存储放大。例如,如果在表的存储目录大小为1TB时对该表进行快照,则该快照可能会占用额外的1TB空间。公司经常报告说,在生产Cassandra节点上的存储空间用完之前,他们不能为其Cassandra环境拍摄超过两到三个快照。只有两到三个备份的时间点副本远远不能满足大多数企业数据备份保留要求。调度员需要有效地工作拍摄和保留快照的频率因业务需求而异。您可能需要根据特定的键空间和表的相对值对它们进行不同的管理。假设在Cassandra环境中有10个表。您可能有三个表需要更高级别的保护,因此需要每小时拍摄一次快照。其他七个表可能只需要一天拍摄一次快照。您需要某种形式的自动调度程序,它具有位于快照基础结构之上的策略引擎遗憾的是,Cassandra没有为管理快照提供任何调度功能。作为权宜之计,Cassandra dba通常会编写脚本以在用户定义的适当间隔创建快照,并在所需的保留期结束时删除它们。在企业级Cassandra部署中编写此过程脚本并管理这种复杂程度是极其困难的。了解有关Cassandra备份和恢复的一致性解决方案的更多信息。