《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(6)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(6)

《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(5) https://developer.aliyun.com/article/1228807?groupCode=polardbforpg



四、 企业级运维能力

 

PolarDB-X Operator在2.2版本支持的企业级运维能力包括日志采集(SQL审计能力)、强一致备份恢复、备库重搭以及参数模板和参数设置四项能力。

 

image.png

 

PolarDB-X 2.2版本支持三种日志的自动采集,分别是:

 

sql.log记录全量的SQL信息,基于日志便可以构建全量的SQL审计功能。

 

slow.log记录慢SQL列表,可以帮助有效地监控PolarDB-X上是否存在慢SQL或问题SQL。

 

error.log即错误日志,可以帮助判断是否存在业务上的异常或系统上的异常。

 

日志文件的采集采用了Filebeats +Logstash的开源解决方案。首先,Filebeats会以daemonSet的方式部署在K8s的每个节点上,定时拉取相关日志文件,并将其投递到Logstash集群中。Logstash负责对日志文本进行解析,提取索引字段,同时将其发送给下游存储系统,默认推荐采用Elasticsearch的方式进行存储,通过Kibana的方式做可视化的查询展现。

 

上图展示了Kibana查询PolarDB-X SQL日志的截图,可以简单地利用查询语言,帮助定位问题SQL或高危SQL。

 

另外,采用Logstash的解决方案可以充分利用其多种output plugin的能力,将SQL日志或慢日志投递到不同的存储系统中,比如MongoDB、Datadog或Clickhouse,构建自己的分析业务。

 

image.png

 

PolarDB-X的备份流程分为几个步骤:

 

对每一个DN节点进行并行的物理备份,所有DN都备份完成之后,在增量日志里寻找一致性位点。然后,对增量的binlog日志进行裁剪,备份增量日志,进行元数据备份。

 

为什要寻找一致性的位点?以经典的转账场景为例来说明:如上图,有一张账户信息表,一共有4个账户a、b、c、d,其中a、b分布在DN1,c、d在DN2上。账户总金额为200元。在某一时刻,发生了a向d转账以及c向b转账。而此时恰好正在进行备份,且备份完成。如果要基于之前的备份集对数据进行恢复,则恢复出的数据应该只存在两种情况:两笔转账在DN1和DN2上都没发生或都发生了,不应该存在诸如DN1上发生而DN2上没发生的情况。即四个账户的总金额始终要保持200,保证全局数据的一致性。

 

而如果没有保证全局数据的一致性,如上图下方所示,a账号已经完成了转账,账户金额从100变为50,但是该50元还未到d账户中,c和b的情况类似,则会导致四个账户的总金额变成为110,这对于业务而言是不可接受的结果。

 

因此,我们需要找出一致性的位点,保证恢复的时刻所有该提交的事务都已完成提交,所有该回滚的事务都已全部被回滚。

 

备份完成之后,PolarDB-X备份集的构成如下:PolarDB-X的账号、密码、元拓扑信息等元数据;每一个DN节点的全量物理备份,同时我们会为每一个DN节点配备增量的备份日志,保证所有DN都恢复到全局一致的位点,保证恢复出的数据的一致性。

 

PolarDB-X的备份集目前支持多种存储方式,包括OSS、SFTP、NAS等,未来也会支持S3等更多方式。



《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(7) https://developer.aliyun.com/article/1228804?groupCode=polardbforpg

相关文章
|
4月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
1317 57
|
7月前
|
SQL 存储 关系型数据库
PolarDB 开源基础教程系列 4 日常运维
PolarDB日常运维指南涵盖了多个关键操作,包括读写节点故障切换、增加只读节点、配置WAL日志归档、备份与恢复、创建容灾实例以及排查CPU负载高等。通过详细的步骤和代码示例,本文档帮助用户在本地环境中体验和学习PolarDB的高级功能,如共享存储架构下的集群管理。特别地,文档提供了如何使用`polar_basebackup`工具进行备份和恢复,确保数据安全;并通过`pg_stat_statements`插件定位慢查询,优化数据库性能。此外,还介绍了常见问题的排查方法,如业务量上涨或长时间执行的SQL语句导致的CPU高负载。更多内容和进阶课程可参考提供的GitHub链接和官方文档。
342 2
|
7月前
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
217 105
|
5月前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
6月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
本文由仁励家网络科技(杭州)有限公司架构师赵云兴、葛志刚撰写,探讨了公司在优化HR SaaS解决方案时遇到的系统资源浪费和运维成本高的问题。通过引入Koupleless框架,成功将模块体积从500M缩减至5M以下,部署时间从6分钟缩短至3分钟,并大幅节省服务器资源。文章详细介绍了Koupleless的部署方案及优化措施,感谢Koupleless团队的专业支持,使人力家实现了多应用合并部署,降低了运维成本。
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
6月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
通过引入Koupleless框架,解决了多应用部署中资源浪费和运维成本高的问题,实现了模块瘦身、快速部署及流量控制优化,大幅降低了服务器资源占用和发布耗时,提升了系统稳定性和运维效率。最终,人力家成功实现了多应用的轻量集中部署,显著减少了运维成本。
 Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
10月前
|
存储 运维 关系型数据库
开源新发布|PolarDB-X v2.4.1 增强企业级运维能力
PolarDB-X 是阿里云推出的云原生分布式数据库,自2021年10月开源以来,持续迭代升级,至2024年4月发布的v2.4.1版本,重点增强了企业级运维能力,如无锁变更、物理扩缩容、数据TTL等,提供金融级高可用、透明分布式、HTAP一体化等特性。PolarDB-X 支持集中式和分布式一体化形态,兼容MySQL生态,适用于金融、通信、政务等行业。
1702 101
|
7月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
386 5
|
7月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB