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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 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

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
2月前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible实战应用
【9月更文挑战第33天】本文将带你深入理解Ansible,一个强大的自动化运维工具。我们将从基础概念开始,逐步探索其配置管理、任务调度等功能,并通过实际案例演示其在自动化部署和批量操作中的应用。文章旨在通过浅显易懂的语言和实例,为读者揭开Ansible的神秘面纱,展示其在简化运维工作中的强大能力。
169 64
|
28天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
149 3
|
1月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
3月前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible实战应用
【9月更文挑战第24天】在现代IT基础设施的快速迭代与扩展中,自动化运维成为提升效率、保障稳定性的关键。本文将深入探讨Ansible这一流行的自动化工具,通过实际案例分析其如何简化日常运维任务,优化工作流程,并提高系统的可靠性和安全性。我们将从Ansible的基础概念入手,逐步深入到高级应用技巧,旨在为读者提供一套完整的Ansible应用解决方案。
|
29天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
96 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
18天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
41 4
|
20天前
|
消息中间件 运维 UED
消息队列运维实战:攻克消息丢失、重复与积压难题
消息队列(MQ)作为分布式系统中的核心组件,承担着解耦、异步处理和流量削峰等功能。然而,在实际应用中,消息丢失、重复和积压等问题时有发生,严重影响系统的稳定性和数据的一致性。本文将深入探讨这些问题的成因及其解决方案,帮助您在运维过程中有效应对这些挑战。
24 1
|
26天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
2月前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
2月前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB