GeminiDB Cassandra接口新特性PITR发布:支持任意时间点恢复

本文分享自华为云社区《GeminiDB Cassandra接口新特性PITR发布:支持任意时间点恢复》,作者: GaussDB 数据库。

技术背景

当业务发生数据损毁、数据丢失、数据误删除等一系列故障场景时,往往需要数据库恢复到故障发生前的某一个时刻,且恢复的颗粒度越小越好。而传统数据库采取周期性备份的方式进行数据恢复时,只能恢复到备份的时间点。由于备份点有限,无法进行更细粒度的时间点恢复,非常影响用户体验。

华为云数据库GeminiDB是一款基于华为自主研发的计算存储分离架构,兼容Cassandra生态的云原生NoSQL数据库。GeminiDB Cassandra接口在综合备份成本、恢复时效和粒度得到充分验证的情况下,推出新特性PITR(Point-In-Time-Recover)支持任意时间点恢复,可以自由选择需要恢复的时间点,从而保障用户数据一致性可靠性与安全性!

cke_138.png

实现原理

整体备份周期

一个完整的备份周期 = 1次全量数据备份 + 定期运行的增量日志备份 + 穿插运行的差异备份(根据业务读写模型进行调整频率)。

cke_139.png

全量备份

PITR支持任意时间点恢复性能的实现,一部分依赖一次全量的数据备份。

全量数据备份为后续增量日志备份提供数据基础,GeminiDB Cassandra接口在进行备份时,会对数据进行秒级快照并充分利用集群中各节点来进行数据切分、上传,因此做到了业务无感知,且不影响实例运行的效果。

cke_140.png

增量日志备份

PITR支持任意时间点恢复性能的实现,另一部分离不开增量日志备份。

增量日志备份是一种基于日志文件WAL(Write-ahead log)的备份方法,相比较传统的增量数据备份具有备份任务量轻、上传速率快、节省空间等特点。GeminiDB Cassandra接口会定期备份已归档WAL,上传完毕后及时清理回收。

cke_141.png

差异备份

PITR支持任意时间点恢复性能的实现,与差异备份也有一定的关系。

PITR实例恢复时会进行日志回放,当全量备份周期设置较长,业务写入量较大时,会导致回放时日志过多,引起回放时间的增加,而差异备份可以缓解避免这个问题。差异备份本质上是一种数据备份,其基于上一次全量备份或差异备份进行数据差异对比上传,有效减少日志回放量,提升恢复速率。

cke_142.png

恢复流程

  1. 下载全量备份数据到新实例
  2. 下载增量WAL文件至新实例
  3. 以恢复模式打开数据库进行WAL日志回放
  4. 恢复到新实例流程结束

cke_143.png

总结

华为云数据库GeminiDB Cassandra接口新特性PITR实现了任意时间点恢复,填补了传统NoSQL引擎只能做指定时间点恢复的短板,将恢复精度精确到任意时间点,极大地提升了用户体验,为数据的安全性和可靠性提供更好的保障。

附录

 

点击关注,第一时间了解华为云新鲜技术~

 

posted @ 2023-12-11 14:57  华为云开发者联盟  阅读(45)  评论(0编辑  收藏  举报