连续数据保护(CDP)是一种灾难恢复策略,它以实时或近乎实时的方式持续捕获和复制数据变化。与依赖于定期快照(例如,每小时或每天)的传统备份方法不同,CDP 跟踪每一个写入操作,确保对数据(无论是文件、数据库还是应用程序)的任何修改都立即保存到辅助存储系统中。这种方法通过提供以秒或分钟(而非数小时或数天)为单位的恢复点,最大程度地减少了停机期间的数据丢失。对于开发者而言,CDP 特别适用于需要高可用性的系统,例如事务性数据库或面向用户的应用程序,在这些系统中,即使是微小的数据丢失也可能产生重大影响。
CDP 通过监控块或字节级别的数据变化来工作,通常使用日志记录或日志结构化存储等技术。例如,当数据库将其新事务写入日志时,CDP 系统会检测到此变化并将其流式传输到备份存储库。这些变化按照时间顺序存储,管理员可以“回溯”数据到任何特定的时间点。将 CDP 集成到其系统的开发者可能会与钩子连接到存储层或应用程序以跟踪修改的 API 或代理进行交互。具有内置复制功能的分布式文件系统(例如 ZFS)或存储阵列等工具通常通过维护连续的写入操作日志来实现 CDP,这些日志可以在恢复期间重放。
CDP 的主要优势在于能够将恢复点目标(RPO)降低到接近零,这使其成为关键工作负载的理想选择。例如,一个每分钟处理数千个订单的电子商务平台可以使用 CDP 来确保在服务器故障期间不会丢失任何交易。然而,CDP 可能会占用大量资源,需要足够的网络带宽和存储来处理持续的数据流。开发者还应考虑权衡:虽然 CDP 提供细粒度的恢复,但它可能无法完全取代用于长期保留的定期备份。将 CDP 与传统备份结合使用——CDP 用于近期更改,备份用于历史数据——是一种平衡即时性和成本的常见策略。