企业运维训练营之数据库原理与实践— 数据管理DMS—DMS解决方案(下)

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
日志服务 SLS,月写入数据量 50GB 1个月
简介: 企业运维训练营之数据库原理与实践— 数据管理DMS—DMS解决方案(下)

接上篇:https://developer.aliyun.com/article/new/supportservice?spm=a2c6h.12873639.article-detail.4.23b33c7eblORNL&publish=1225557#/?_k=7a5gloimage.png

 

操作审计是监管政策的要求之一。为了方便快速定位、排查数据库问题、提供审计运作,DMS在操作日志基础上推出了操作审计功能,记录了包括SQL窗口产生的SQL语句列表、工单列表、登录列表及操作日志等信息,审计或管理人员可以随时通过控制台页面或Open API获取审计日志。

 

image.png

 

企业数据开发中,如果上线了低效或有漏洞的SQL,可能会导致数据库故障。传统的SQL审核依赖于人工,效率差且容易出错。

 

DMS提供了一种SQL审核方案,支持对上传的SQL语序进行审核并提出优化建议,避免无索引或不规范SQL。

 

DMS提供了3种系统行为动作,包括必须改进、潜在问题和建议改进。其中,必须改进会阻塞SQL执行,必须进行改进直至通过验证。

 

image.png

 

DMS内置了一些安全规范,如表要有主键、表要有备注、表不能有外键、限制大小写等。

 

DMS提供了潜在问题、建议改进、必须执行等行为动作,前二者执行后页面会弹出优化建议但不会阻塞执行,后者则必须执行。此外,优化建议也可以进行编辑。

 

除支持SQL上传审核,DMS也支持多种类型文件的审核,如代码框架XML文件、SQL文本文件、Trick数据库日志文件等。

 

image.png

 

如图中,开发审核中申请SQL审核不通过,建议改进后执行。

 

image.png

 

数据库DDL操作在数据量较大的情况下会有所阻塞,MySQL5.6版本提供了原生online DDL,覆盖大部分DDL类型,但仍有部分常见的DDL不支持,如修改列类型、修改字符长度等。

 

市面上一些开源工具支持更广泛的DDL类型,但其实现方式依赖于通过触发器实现增量数据同步。

 

Online DDL通过生成新结构临时表同步全量数据,依赖触发器保存增量数据同步到临时表中。通过触发器实现增量数据同步存在一些弊端:

 

触发器本身性能开销较大,实际是将两张表的操作关联到一个事务中。

触发器不能暂停或中断,否则就会出现变更中断或数据丢失问题。

触发器无法灵活控制,存在主备延迟问题。

 

DMS无锁表结构变更通过消费binlog事件,将原表增量变换同步到目标表中。这种方式将原表和目标表解耦,目标表的增量数据并不直接来源于原表。

 

DMS无锁表结构变更可以根据系统负载及主备延迟情况,随时中断或者放慢DDL执行速度。虽然任务执行时间较长,但其影响更小并且更健壮,任务失败只需重试即可。开启了Online DDL的数据在完成DDL操作后,表碎片率会更低。

 

image.png

 

DML执行大批量数据更新时间较长,大事务可能会导致锁表,造成数据库故障。将大批量数据更新拆分成小批量完成,不仅拆分复杂,如果更新操作没有索引,任务执行效率会变差。

 

DMS无锁表数据变更能够自动查找唯一键,根据唯一键分批拆分SQL。拆分成单个事务后,单索引SQL效率提高且不会对线上业务造成很大影响。

 

DMS无锁表数据变更还提供了动态Slip策略,批量执行后系统提供一定的Slip缓冲空间,有效缓解了大事务带来的储备延时问题,也保证主户更加稳定。

 

image.png

 

针对误删数据或错误更新数据的数据恢复问题,传统DBA管理通过数据库先恢复全量数据再恢复增量数据,这种方式成本高且时间较长,且需要数据库本身具有完善的备份方案。

 

DMS提供了一种数据追踪方式,只需要提供误操作的时间以及SQL类型、表信息等,就可以快速从 binlog中按需找到目标时间段内的相关更新,汇总形成逆向回滚数据,将回滚SQL语句在数据库中重新执行即可完成数据恢复。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
目录
打赏
0
0
0
0
94
分享
相关文章
idc机房智能运维解决方案
华汇数据中心一体化智能运维方案应运而生,以“自主可控、精准洞察、智能决策”三大核心能力,助力企业实现运维效率提升与综合成本下降的数字化转型目标。
55 24
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
160 2
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
数据管理服务DMS支持MySQL数据库的无锁结构变更
本文介绍了使用Sysbench准备2000万数据并进行全表字段更新的操作。通过DMS的无锁变更功能,可在不锁定表的情况下完成结构修改,避免了传统方法中可能产生的锁等待问题。具体步骤包括:准备数据、提交审批、执行变更及检查表结构,确保变更过程高效且不影响业务运行。
61 2
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
442 3
智能化运维在企业IT管理中的应用与实践####
本文深入探讨了智能化运维(AIOps)的核心技术原理,通过对比传统运维模式,揭示了AIOps如何利用大数据、机器学习等先进技术提升故障预测准确性、优化资源分配及自动化处理流程。同时,文章详细阐述了智能化运维平台的实施步骤,包括数据收集与分析、模型训练与部署、以及持续监控与优化,旨在为企业IT部门提供一套切实可行的智能化转型路径。最后,通过几个典型应用案例,如某大型电商平台的智能告警系统和金融企业的自动化故障排查流程,直观展示了智能化运维在实际业务场景中的显著成效,强调了其在提升运维效率、降低运营成本方面的关键作用。 ####
93 4
云计算环境下的运维挑战与解决方案
本文探讨了云计算环境中运维面临的主要挑战,包括资源管理、自动化部署、安全性问题等,并提出了相应的解决策略。通过案例分析和最佳实践,为云环境下的运维工作提供了指导和参考。
166 1
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
136 1