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

技术背景

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

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

实现原理

整体备份周期

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

全量备份

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

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

增量日志备份

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

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

差异备份

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

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

恢复流程

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

总结

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

附录

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

GeminiDB Cassandra接口新特性PITR发布:支持任意时间点恢复的更多相关文章

  1. ECMAScript 5和ECMAScript6的新特性以及浏览器支持情况

    ECMAScript简介: 它是一种由Ecma国际(前身为欧洲计算机制造商协会)制定和发布的脚本语言规范,javascript在它基础上经行了自己的封装.但通常来说,术语ECMAScript和java ...

  2. atitit.js 各版本 and 新特性跟浏览器支持报告

    atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...

  3. ECMAScript和JavaScript的区别,ECMAScript发展更新历史,ECMAScript5和ECMAScript6的新特性及浏览器支持情况,ECMAScript 5/ECMAScript 2015正式发布

    ECMAScript和JavaScript的区别 ECMA是European Computer Manufacturers Association的缩写,即欧洲计算机制造商协会.欧洲计算机制造商协会是 ...

  4. css4激动人心的新特性及浏览器支持度

    CSS3的选择器提供了很多像:nth-child这样有用的选择器,并且得到浏览器支持.CSS的第四代 选择器CSS4选择器),经我们带来了更多有用的选择器. 1.否定伪类:not 否定伪类选择器其实在 ...

  5. [Android 新特性] 谷歌发布Android Studio开发工具1.0正式版(组图) 2014-12-09 09:35:40

    Android Studio是谷歌于13年I/O大会推出的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的Androi ...

  6. Java 接口 新特性(Java8)

    Java8新特性之接口增强 在Java7以及以前的版本中,接口里的方法都是抽象的,并且不存在静态方法,属性默认修饰符是public static final.所有方法的声明都是public [返回类型 ...

  7. Java8接口新特性

    概述 Java 8中,你可以为接口添加静态方法和默认方法.从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念.猜想设计初衷可能使为了兼容8以下的jdk Java8出来了个函数 ...

  8. Kubernetes1.6新特性:全面支持多颗GPU

    (一)  背景资料 GPU就是图形处理器,是Graphics Processing Unit的缩写.电脑显示器上显示的图像,在显示在显示器上之前.要经过一些列处理,这个过程有个专有的名词叫" ...

  9. 4、java基础:JDK8接口新特性以及接口和抽象类区别

    在jdk8之前,interface之中可以定义变量和方法,变量必须是public.static.final的,方法必须是public.abstract的.由于这些修饰符都是默认的,所以在JDK8之前, ...

  10. .NET Core 新特性:发布单文件可执行程序

    一.前言 .NET Core 3.0中新增加了一个特性:Publishing Single EXEs,可以通过dotnet publish 命令将整个.net core应用发布为一个可执行文件. 二. ...

随机推荐

  1. [GKCTF 2020]cve版签到

    通过题目的提示可知,这是一个CVE(cve-2020-7066)的复现 点击进之后也无回显 看了这个cve之后,知道这个cve就是这个get_headers()会截断URL中空字符后的内容 就根据cv ...

  2. Amazon MSK 可靠性最佳实践

    1. Amazon MSK介绍 Kafka作为老牌的开源分布式事件流平台,已经广泛用于如数据集成,流处理,数据管道等各种应用中. 亚马逊云科技也于2019年2月推出了Apache Kafka的云托管版 ...

  3. 轻松掌握组件启动之MongoDB(下):高可用复制集架构环境搭建

    引言 上一章节中,我们详细介绍了在典型的三节点复制集环境中搭建MongoDB的步骤和注意事项.从准备配置文件到启动MongoDB进程,我们一步步指导读者完成了环境的设置.在本章节中,我们将进一步深入, ...

  4. 17.2 实现无管道正向CMD

    WSASocket 无管道正向CMD,使用WSASocket函数创建一个TCP套接字,并绑定到一个本地地址和端口上.然后使用CreateProcess函数创建一个新的CMD进程,并将标准输入.输出和错 ...

  5. 揭秘计算机奇迹:探索I/O设备的神秘世界!

    引言 在之前的章节中,我们详细讲解了计算机系统中一些核心组成部分,如中央处理器(CPU).内存.硬盘等.这些组件负责处理和存储数据,使得计算机能够有效地运行.然而,除了这些核心组件,计算机系统还包含许 ...

  6. 手算base64

    base64人类群星闪耀时 CSP2021考了-- 什么鬼-- 不得不大骂一声--您有毒吧 base64是什么 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基 ...

  7. nginx、rabbitmq、redis、zookeeper、zkui安装脚本

    nginx安装脚本 #!/bin/bash yum install -y wget pcre-devel openssl openssl-devel gcc ###安装perl### cd /usr/ ...

  8. 练习回—编译安装nginx

    练习回 练习,编译安装nginx. 1.yum安装依赖环境 yum -y install pcre-devel zlib-devel gcc gcc-c++ make 2."下载" ...

  9. QT线程问题

    QT线程问题 (一)QThread (二)QMutex和QMutexLocker (end)后面会更新 (一)QThread 文章 (二)QMutex和QMutexLocker 通俗理解 QMutex ...

  10. 一篇文章让你理解:什么是Spring???

    背景 市场上,随便一个Java工程师的招牌要求上,都可以看到SSM.Spring.SpringMVC...类似字样.这玩意到底是个啥? 这是中邮消费招聘的岗位要求,可以看到第3点: 3.熟悉Strut ...