告别手动运维!DBdoctor让MySQL/PostgreSQL主从数据库管理更智能

90 阅读8分钟

DBdoctor是一款企业级数据库SQL审核、性能诊断与优化平台,全面覆盖开发、测试、运维各环节的独家SQL审核,可实现一分钟诊断数据库性能问题并给出优化建议。目前DBdoctor 可快速纳管MySQL/PostgreSQL主从数据库,为用户提供高效的数据库性能诊断和优化服务。

如何快速纳管主从数据库

1.纳管部署架构

上图中的展示了两套主从数据库。前者MySQ数据库有一个主库两个从库,且数据单向从主库同步至从库。后者PostgreSQL数据库有一个主库一个从库,且主库和从库两者双向同步数据。主库和从库均部署在不同的服务器中。DBdoctor 可直接针对主库进行纳管,自动发现所有的从库。主从数据库所在服务器均会部署一个Agent(可自动部署),即可实现对主从数据库的纳管。

2.快速安装 环境要求: 4c8g(建议独立的资源部署,可以添加选项--unlimited忽略4c8g的限制)下载安装包: www.dbdoctor.cn/?utm=01

#解压安装包并执行一条命令即可部署完成./dbd -I

服务访问地址: http://<部署服务的主机ip>:13000登录账号: tester/Root2023!详细文档: demo.dbdoctor.cn/modules/dbD…
3.快速纳管主从数据库这里我们以MySQL主从数据库为例,来展示如何快速纳管主从数据库。a) 创建MySQL访问账号

创建账号:create user 'test'@'%' IDENTIFIED BY 'Root2023!';赋权:GRANT SELECT, PROCESS, SHOW VIEW, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ''@'%'如需查看语句执行计划、SQL审核等功能,请补充相应权限:GRANT SELECT, INSERT, UPDATE, DELETE, PROCESS, SHOW VIEW, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ''@'%'如需使用实时会话结束功能结束非当前用户对话,需要使用root用户或执行以下授权语句赋予SUPER权限:GRANT PROCESS, SUPER ON *.* TO @'%';

b) 页面纳管MySQL主从数据库实例

  • 点击“实例纳管”按钮后,在类型下拉框中选中”MySQL 主从版”引擎类型;
  • 填写主从数据库中任一主库或从库的访问地址、账号以及密码等基本信息;
  • 点击"check"按钮,检查实例数据库是否连接正常。如未查询到从库数据,则建议切换至"mysql单机版"进行纳管操作;

录入主从数据库所在主机的账号信息以及各自服务器IP地址,默认自动安装Agent。

注意:开启拓扑自适应后,DBdoctor Server可动态感知数据库主从切换动作,快速调整主从数据库实例位置,并且可动态纳管新添加的从库,并下线缩减的从库。

主从数据库所服务器连通性检测均通过后,点击提交后即可成功纳管MySQL主从数据库。在实例列表界面,可以看到已纳管的MySQL主从数据库实例信息。 

重点说明:

a)主从数据库功能一致且数据相互隔离:主库和从库部署在不同的服务器中,DBdoctor可针对主库和从库的资源及锁事件等数据分别采集和展示。

b)实时动态调整主从角色:当开启“拓扑自适应”后,一旦数据库发生以下两种情况,DBdoctor可自动感知并进行动态调整。

  • 当数据库发生主从切换动作,DBdoctor可感知到该操作,并动态调整主库和从库的展示位置,保证主库一直展示在第一层级目录;
  • 当数据库增加从库时,DBdoctor可自动纳管。当从库被删除时也会自动移除并持续监控其状态。通过这种自动化管理和监控能力,可显著减少人工操作,降低了数据库管理成本,提升了运维效率和系统稳定性。

针对主从数据库,DBdoctor提供哪些功能服务?

针对于MySQL和PostGreSQL主从数据库,DBdoctor提供的功能与单机版数据库完全相同。具体支持的功能服务见下表:

一级功能二级功能MySQL 主从版PostGreSQL 主从版功能描述
事前诊断SQL审核YY识别SQL性能问题,提前规避故障
实例巡检YY生成巡检报告,及时发现隐藏问题
SQL窗口YYSQL的在线执行功能
实时诊断性能洞察YY资源消耗与SQL性能的映射关系
锁透视YY锁等待、死锁、长事务、未提交事务可视化
根因诊断YY基于问题推导出引起问题的根因SQL
审计日志YY日志分析与日志查询
基础监控YY系统层以及数据库引擎层面的监控指标汇总
慢SQL治理YY慢SQL统计、慢SQL趋势
实时会话YY实时查询和分析数据库中的会话信息
实例调优索引推荐YY推荐最优索引,提醒冗余索引
存储分析YY预测磁盘使用率,关注磁盘异常占用
参数推荐YAI算法结合专家经验推荐适合的参数值
参数管理Y快速感知数据库配置项变更历史

主要功能介绍:

1.SQL审核

SQL审核功能包括传统的规则审核和DBdoctor特有的SQL性能审核。SQL规则审核内置SQL规范和专家经验规则,从SQL语法上进行识别潜在问题并提示;SQL性能审核全面覆盖开发、测试、运维各环节,无需生产发布和变更,可以提前评估出SQL在未来上线后的性能问题并推荐全局最优索引(该能力目前是数据库行业独有能力)。

2.实例巡检

DBdoctor提供自定义策略的定时巡检和立即巡检两种模式。用户可以快速了解租户项目下的数据库实例有哪些问题,并查看详细巡检报告。针对巡检报告中的性能异常项可使用性能洞察功能还原异常时刻现场,快速找到异常根因并给出最佳优化建议。

巡检报告包含:巡检总览、健康状况概要、SQL性能问题(资源异常、锁问题等)、配置问题、资源问题、性能趋势等。

3.SQL窗口SQL窗口提供了SQL的在线执行功能,支持SQL的查询、查看执行计划、导出查询结果,支持库、schema、表级别的查询和下载权限控制,并记录了每一条SQL语句的执行历史,确保回溯问题无死角。

4.性能洞察

过数学模型精准定位,打破基于经验、规则、阈值诊断的传统,真正实现单条SQL资源量化,把资源消耗映射为颜色面积,直观定位数据库性能问题并给出优化建议。性能洞察包含了资源使用率、业务流量、Average Active Session(AAS,即平均活跃会话)曲线,同屏展示同三者的关联关系。从图中可以得知,在异常事件存在IO异常及锁异常事件。并且点击“放大镜”后可以查看导致异常事件的具体原因。图中导致IO异常的根因SQL有两类,且点击“根因诊断”可查看该类异常的详细信息。

5.锁透视

涵盖锁等待、死锁、长事务、未提交事务四大锁场景。通过环形图和泳道图方式直观的慢动作回放事务SQL的完整执行过程,并按照事务执行时序高亮标识数据库内核详细加锁和等锁事件,慢动作回放问题现场,快速找到问题源头。

图中展示出长事务形成的事务泳道图,并且REPLACE命令执行时间为20秒。

6.根因诊断

根因诊断直接展示该实例在选定时间段内存在的问题根因SQL指纹,并会详细描述该SQL导致的问题现象,同时可以记录该SQL指纹在数据库里造成的每一次异常。

从图中可以得知,REPLACE语句的执行导致IO异常、长事务、锁等待及IO异常事件。

查看各异常事件右侧的"查看详情"按钮,可以查看异常产生的详细过程,如图是锁等待事件产生的过程。事务A等待事件长达50秒。

7.审计日志

审计日志功能提供审计日志的检索功能和审计日志统计分析两大能力。基于eBPF技术采集数据库的实例的审计日志,对SQL进行聚类分析,展示每类SQL语句的请求次数、耗时与来源。可通过与性能洞察结合进行审计日志查看,快速还原数据库异常时间问题现场。

8.索引推荐

性能问题SQL自动识别,并进行索引优化推荐。对需要进行索引优化的库表,统一展示建议执行的优化DDL,并且给出每条待优化SQL的问题分析以及详细建议。

9.参数推荐

通过收集数据库指标,分析数据库运行特征,利用AI算法结合专家经验推荐适合的参数,从而提升数据库的性能。

免费下载/在线试用

www.dbdoctor.cn/?utm=22

公众号:DBdoctor

如果您是开发或DBA欢迎关注公众号,关注公众号回复:“进群”,可拉您进入技术交流群