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

简介: 快速学习 PolarDB-X 集群运维1:升降配、扩缩容_与备份恢复

开发者学堂课程【PolarDB-X 开源人才初级认证培训课程PolarDB-X 集群运维1:升降配、扩缩容_与备份恢复学习笔记(二),与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1075/detail/15543


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


内容介绍

一、PolarDB-X 产品介绍

二、扩缩容

三、升降配

四、备份恢复

五、资源及常见问题


四、备份恢复

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

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


五、资源及相关问题

1、训练营相关资源介绍

(1)给出了github上的源码,感兴趣可以阅读相关的源码,了解更多的细节,如果对如何使用polarDB-x感兴趣,可以关注产品文档以及知乎专栏的原理解读文章。

(2)云起实验室有一系列的动手实践课程,可以课后在云起实验室上进行动手操作加深自己的理解。

(3)联系方式,如果对polarDB-x相关的知识感兴趣,或是想要探讨更多的内容,可以加微信做进一步交流。

2、问题

(1)SCOTT 的时候为什么客票时会为零。

因为刚才一边在申 CN 一边也在申 dn,如果只申 dn 不会出现零的,因为cn是流量的入口,存在流量切换的过程,会导致TTS跌到0的情况。

(2)公共云也是用 k84进行管控的吗?

在公共云上也是通过 K84来对资源进行管控,只不过在公共云上不是用的Operator方式,采用的是云上的管控架构,和开源有一点区别。

(3)数据量比较大的情况下,dn节点的扩容失败会怎么样。可以从几个步骤来看,假如在新增期,第一步需要新增一个dn节点,在新增dn节点的过程中出现了失败的情况,不影响实际的使用,因为数据和分区都没有迁移。

假如在迁移的过程中出现,也没有问题,因为流量没有切,而且所有的数据分区计算和数据迁移也是异步的过程,同时也设计了自适应的留空,不会对业务造成影响。如果出现问题,也提供异步低调的运维手段,可以排查解决。

如果都是多副本dn,由于多副本会有切换,而且并不是流量的入口,所以不会归零,而cn因为是流量的入口,流量打过来先有下线过程,下线的过程中会将已有的连接断开,就会出现为零的情况。

另外,在实验的过程也说明了一下,在同一台ecs上既创建   又   压测流量,之间会有资源的互相影响,会导致cn启动过程相对慢一些,或是  流量有一定影响。

(4)Dn 的一副本是一主一从吗?

不是,dn 目前有两种模式,一种是一副本,是一个 leader 的模式,还有一种是推荐的三副本模式,一个 leader,一个 FOLLOWer 加一个 logger,leader 和FOLLOWer 有全量数据,logger 存储 bean log 日志,不会 apply bean log。

k84对资源的管理比较方便,所以在生产环境下用了K84,不仅仅是灰度发布的功能,需要整个数据库的生命周期管理,高可用能力实现,K84方便实现这些功能。

(5)生产环境扩容 cn 有什么办法避免失败?

失败可能会有几种情况,第一种整体资源不够,导致pod处于pending的状态,这种情况已经在 pending,通常会先保证新的pod完全可对外服务,再将老 pod 下线来尽量降低对整个资源的影响。可以理解为rolling upgreat的操作,和 K84里的depoloiment 升级类似。

(6)实验室环境上的部署操作命令在 cental ONCE 上直接按步骤操作是不是不行?

基本是一致的,如果有疑问也可以参考开源文档,上面有具体的操作说明,不同的操作系统版本可能会有一定差异,但整体不大。如果在操作过程中遇到问题,也可以在群里面反馈并协助解决。

相关文章
|
运维 Cloud Native 开发工具
智能运维:云原生大规模集群GitOps实践
智能运维:云原生大规模集群GitOps实践,由阿里云运维专家钟炯恩分享。内容涵盖云原生运维挑战、管理实践、GitOps实践及智能运维体系。通过OAM模型和GitOps优化方案,解决大规模集群的发布效率与稳定性问题,推动智能运维工程演进。适用于云原生环境下的高效运维管理。
546 8
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
684 2
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
303 0
|
运维 关系型数据库 MySQL
"MySQL运维精髓:深入解析数据库及表的高效创建、管理、优化与备份恢复策略"
【8月更文挑战第9天】MySQL是最流行的开源数据库之一,其运维对数据安全与性能至关重要。本文通过最佳实践介绍数据库及表的创建、管理与优化,包括示例代码。涵盖创建/删除数据库、表结构定义/调整、索引优化和查询分析,以及数据备份与恢复等关键操作,助您高效管理MySQL,确保数据完整性和系统稳定运行。
946 0
|
消息中间件 运维 应用服务中间件
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
1629 1
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
657 1
|
运维 负载均衡 安全
Apache Doris 极简运维之BE扩缩容(1)
Apache Doris 极简运维之BE扩缩容(1)
935 0
|
SQL 弹性计算 分布式数据库
实践教程之如何对PolarDB-X集群做动态扩缩容
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您使用对 PolarDB-X 进行动态扩缩容。本...
实践教程之如何对PolarDB-X集群做动态扩缩容

热门文章

最新文章