PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(三)|学习笔记

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 快速学习PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(三)

开发者学堂课程【PolarDB-X 开源系列课程:PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(三)】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/1032/detail/15145


PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(三)

四、备份恢复

1、单击my circle做备份恢复,以PiT即任意时间点的备份恢复为例。(1)把备份恢复的过程看成两部分,第一部分是全量备份的过程,另一部分是基于bean log增量备份的过程。假如需要对my circle进行任意时间点的恢复,可以找到这个时间点之前最近的全量备份,通常会采用xtrabackup开源工具做这件事。

image.png

(2)找到xtrabackup全量备份完成的时间点所对应的bean log到所需要恢复的时间点,一般是秒级,可能今天的二十一点十五分十五秒,就会找到这段时间范围内的所有的bean log,对它进行增量,从而保证单击的my circle数据恢复到想要的任意时间点。polarDB-x的dn节点主要存储数据,把每个dn看成my circle使用,但如果每一个dn都通过这种方式做备份恢复,会存在数据一致性的问题。

(3)因为polarDB-x是一款分布式数据库,上面会有分布式事务存在,可能在dn1和dn2上会有同一条分布式事务来更新两条不同的数据,示例中有四个帐号分别是ABC D,在某一时刻A向B帐号发生了转账操作,这对应的是分布式事务,同时从C向d发起了转账操作。

(4)假如按照每个d单独使用全量加增量的备份恢复方式,因为只能恢复到秒级,同时分布式事务对每个dn而言无感知,有可能会出现A的账户已经完成了转账,但是b账户转账还没开始的情况。同时C和D的转账也存在这个问题,这种情况下,原来整个账户的金额是两百,通过备份恢复的方式拿出来的数据可能会出现两百五的情况,这时候总数据不一致,对用户而言是不可接受的,无论恢复到哪一个时间点都希望所恢复出来的能够保证数据的强一致。

2、polarDB-x操作

polarDB-x的分布式事务,目前采用基于tso的事务模型,每一个分布式事务都会在prepal阶段获取tso,在这基础之上,对dn的bean log进行改造,对每个bean log的event,将tso写到bean log里。有了过程,备份恢复流程和单机my cercle类似,也是基于全量的备份加bean log增量备份的过程,全量备份可以理解为在每个dn上,基于xtrabackup做备份操作,增量备份时bean log也会按照实际的dn产出做近实时的备份,在恢复的过程中,主要的问题就是根据bean log里的tso对现有的增量的bean log进行一定的裁剪,从而保证恢复出来的数据是完全一致的。

举个例子,转账操作这两个在dn1和dn2上提交操作产生了两条bean log的event关联到同一个tso上,在恢复的过程中,要么就是会将两个event同时apply,要么就是同时不apply,这样就能够避免前面所说的数据不一致的问题。

image.png

全局一致性的备份恢复已经在公共云上上线,开源的环境正在研发中,近期也会上线。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
SQL 存储 弹性计算
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(下)
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(下)
200 0
|
SQL 弹性计算 运维
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(中)
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(中)
200 0
|
域名解析 弹性计算 运维
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(上)
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—RDS常见问题排除及DAS自动弹性伸缩(上)
284 0
|
存储 SQL 弹性计算
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—Q&A
企业运维训练营之数据库原理与实践—RDS常见问题排除及DAS自动弹性伸缩—Q&A
114 0
|
7月前
|
SQL 弹性计算 分布式数据库
实践教程之如何对PolarDB-X集群做动态扩缩容
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您使用对 PolarDB-X 进行动态扩缩容。本...
实践教程之如何对PolarDB-X集群做动态扩缩容
|
弹性计算 运维 Kubernetes
PolarDB-X 的部署与运维(二)| 学习笔记
快速学习 PolarDB-X 的部署与运维。
PolarDB-X 的部署与运维(二)| 学习笔记
|
存储 SQL 运维
PolarDB-X 的部署与运维(一)| 学习笔记
快速学习 PolarDB-X 的部署与运维。
PolarDB-X 的部署与运维(一)| 学习笔记
|
SQL 存储 运维
PolarDB-X 的部署与运维(三)| 学习笔记
快速学习 PolarDB-X 的部署与运维。
PolarDB-X 的部署与运维(三)| 学习笔记
|
弹性计算 运维 测试技术
PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(二)|学习笔记
快速学习PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(二)
PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(二)|学习笔记
|
存储 弹性计算 运维
PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(一)|学习笔记
快速学习PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(一)
PolarDB-X集群运维1:升降配、扩缩容_与备份恢复(一)|学习笔记