企业运维训练营之数据库原理与实践— 数据管理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图形化工具创建数据库表。
相关文章
|
4天前
|
运维 监控
构建高效运维体系:从理论到实践
在当今快速发展的信息化时代,高效的运维体系是保障企业信息系统稳定运行的关键。本文旨在探讨如何构建一个高效、可靠的运维体系,通过分析当前运维面临的挑战,提出相应的解决策略,并结合实际案例,展示这些策略的实施效果。文章首先介绍了高效运维的重要性,接着分析了运维过程中常见的问题,然后详细阐述了构建高效运维体系的策略和步骤,最后通过一个实际案例来验证这些策略的有效性。
|
4天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
10天前
|
弹性计算 运维
新 企业级ECS集群运维管理训练营 打卡学习领好礼
新 企业级ECS集群运维管理训练营 打卡学习领好礼
41 3
|
13天前
|
人工智能 运维 监控
构建高效运维体系:理论与实践的深度融合####
本文旨在探讨高效IT运维体系的构建策略,通过理论框架与实际案例并重的方式,深入剖析了现代企业面临的运维挑战。文章开篇概述了当前运维领域的新趋势,包括自动化、智能化及DevOps文化的兴起,随后详细阐述了如何将这些先进理念融入日常运维管理中,形成一套既灵活又稳定的运维机制。特别地,文中强调了数据驱动决策的重要性,以及在快速迭代的技术环境中保持持续学习与适应的必要性。最终,通过对比分析几个典型企业的运维转型实例,提炼出可复制的成功模式,为读者提供具有实操性的指导建议。 ####
|
15天前
|
机器学习/深度学习 人工智能 运维
智能运维:AIOps在大型系统运维中的实践与挑战
【10月更文挑战第28天】随着云计算、大数据和人工智能的发展,AIOps(人工智能运维)应运而生,旨在通过算法和机器学习提高运维效率和质量。本文探讨了AIOps在大型系统运维中的实践与挑战,包括数据质量、模型选择和团队协作等方面,并通过一个异常检测案例展示了其应用。尽管面临挑战,AIOps仍有望成为未来运维的重要方向。
46 5
|
11天前
|
运维 负载均衡 Ubuntu
自动化运维的利器:Ansible入门与实践
【10月更文挑战第31天】在当今快速发展的信息技术时代,高效的运维管理成为企业稳定运行的关键。本文将引导读者了解自动化运维工具Ansible的基础概念、安装步骤、基本使用,以及如何通过实际案例掌握其核心功能,从而提升工作效率和系统稳定性。
|
13天前
|
运维 资源调度 监控
提升运维效率的关键技术与实践
在当今快速发展的信息技术时代,运维工作面临着前所未有的挑战和机遇。本文旨在探讨如何通过采用先进的技术和实施最佳实践来提高IT运维的效率和效果。我们将深入分析自动化工具、监控策略、灾难恢复计划以及持续集成/持续部署(CI/CD)等关键领域,展示它们如何协同工作以优化运维流程。此外,文章还将提供一些实际案例研究,帮助读者更好地理解这些概念的应用。无论是对于初创公司还是大型企业,掌握这些技术都将是提升竞争力的关键。
|
16天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
51 1
|
22天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible入门与实践
【10月更文挑战第21天】在现代IT基础设施的管理中,自动化运维已成为提升效率、降低错误率的关键。Ansible,作为一种简单而强大的自动化工具,正被广泛应用于配置管理、应用部署和任务自动化等领域。本文将引导你了解Ansible的基本概念,通过实际案例展示如何利用Ansible简化日常运维工作,并探讨其在现代IT运维中的应用价值。无论你是新手还是有经验的系统管理员,这篇文章都将为你开启Ansible的高效之旅提供指导。
|
28天前
|
运维 自然语言处理 开发者
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
57 3

热门文章

最新文章