企业运维训练营之数据库原理与实践—数据库DAS简介和备份上云方案—性能诊断与优化(上)

简介: 企业运维训练营之数据库原理与实践—数据库DAS简介和备份上云方案—性能诊断与优化(上)

一、 性能诊断与优化

 

image.png

 

数据库自治服务(Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验,以实现数据库自感知、自修复、自优化、自运维和自安全的云服务。DAS能够帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。

 

目前,该服务已在阿里巴巴集团上线超3年,自动优化了超4200万条SQL,自动回收了近4PB空间,优化了近27TB内存,为数据库治理做出巨大贡献。

 

image.png

 

DAS产品核心理念主要包括数据驱动、机器学习+专家经验、诊断流程闭环、主动/持续进行、全局优化和规模优化等方面。

 

DAS基于机器学习和细粒度监控数据实现了7x24小时异常监测,提供了自动SQL限流、异常快照、自动SQL优化、存储空间自动扩展、计算资源自动扩展等功能。

 

DAS通过异常发现、根因分析等模块进行止损和优化,实现了诊断流程闭环。同时,DAS还实现了无人工参与的自治场景支持,使服务自身具备构建学习能力。

 

依托线上业务场景的积累,DAS沉淀了大量的案例,并用案例作为驱动,加速自我进化,提升自治有效性。

 

数据驱动是指DAS通过对海量实时数据,如性能指标、负载SQL请求日志、运维变更日志等的收集,构建了探测能力,具备了环境态势实时感知、异常实时发现能力。

 

自我决策能力是指DAS通过机器学习及数据库专家经验的深度融合,能够在不同的业务场景下做出决策。

 

自动执行能力是指DAS能够根据自治中心决策,自动进行任务编排并执行。

 

image.png

 

SQL自动限流功能主要应用于以下三个场景:

 

流量问题。缓存穿透或异常调用导致某类SQL并发量在短时间内急剧上升的问题。

 

数据问题。存在大量订单数据的账号下,相关SQL占用了大量数据库资源的问题。

 

SQL问题。未创建索引的SQL被大量调用,从而影响正常业务的问题。

 

SQL自动限流的流程主要分为以下几个步骤:

 

异常检测。DAS通过机器学习对实例历史性能数据进行离线训练并获得模型,通过对该模型指标数据异常监测,DAS能够及时发现数据库异常,并进行根因分析。

 

根因分析。该模块将订阅实例异常事件,并采集异常时会话信息。结合SQL审计中全量SQL及MySQL中的统计信息进行判断,定位实例异常原因。

 

该异常通常分为阻塞性SQL、资源消耗型SQL和流量型SQL三种。资源消耗型SQL并发量较小,但会消耗大量的CPU、IO网络资源。流量型SQL会触发数据库瓶颈,导致KV类查询响应时间异常。

 

特征提取。当发现存在需要限流的异常SQL时,DAS会对这些SQL的特征进行精确提取,防止因特征提取错误导致的业务全面受损。

 

在理想的情况下,SQL特征是唯一的。DAS只对识别到的异常SQL进行限流,而不影响其他SQL。

 

自动限流。当发现实例中存在消耗型资源SQL或流量型SQL时,DAS会自动提取特征,根据配置对SQL进行限流。

 

DAS还会进行自动优化、跟踪和回滚。例如,若根因分析模块发现了可以优化的异常SQL时,除发起应急处理外,DAS还会将异常SQL发送到自动优化模块,自动创建索引进行优化。

 

image.png

 

SQL自动限流在DAS自治中心的会话管理页面,用户可以进行开关操作以达到限流的目的。

 

image.png

 

SQL自动限流会自动进行判断并处理相关问题。该实例中,数据库起初正常运行。22:56,活跃会话数飙升超过100,大量全表扫描的SQL不断被提交到数据库中。用户采用Kill操作无法解决,流量基本跌0,企业业务已处于不可服务状态。

 

DAS通过7x24小时异常检测技术,迅速定位到该异常并自动进行根因分析。定位到该异常SQL,触发限流操作,限制包含上述关键字的SQL允许执行的最大并发数。22:59,企业业务恢复正常。

 

image.png

 

DAS支持SQL诊断功能,用户可以根据SQL诊断得到的索引优化的建议,对实例中的表进行索引的创建,也可以在自治中心中打开创建索引的开关,由DAS自动进行SQL诊断和创建索引。

 

自动创建索引是DAS自动优化功能的一种,其原理在于MySQL内核原生支持的Online DDL。

 

image.png

 

如果有大量的慢SQL被MySQL被检测到,DAS将会在页面展示出具体的问题和需要创建的索引,在某一个时段自动添加索引,以提升服务性能。

 

接下篇:

相关实践学习
使用DAS实现数据库自动扩容和回缩
暂无
相关文章
|
3月前
|
机器学习/深度学习 存储 运维
深度学习在数据库运维中的作用与实现
深度学习在数据库运维中的作用与实现
95 14
|
1月前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
86 9
|
19天前
|
SQL 关系型数据库 数据库
【YashanDB 知识库】OM 仲裁节点故障后手工切换方案和 yasom 仲裁重新部署后重新纳管数据库集群方案
本文介绍了一主一备数据库集群的部署步骤。首先在OM节点上传并解压软件包至指定路径,随后通过调整安装参数、执行安装和集群部署完成数据库设置。接着,在主备节点分别配置环境变量,并查看数据库状态以确认安装成功。最后,针对OM仲裁故障提供了手动切换方案,包括构造故障场景、关闭自动切换开关及使用SQL命令进行主备切换,确保系统高可用性。
|
2月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
|
3月前
|
SQL 存储 运维
从建模到运维:联犀如何完美融入时序数据库 TDengine 实现物联网数据流畅管理
本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品。文章从一个具体的业务场景出发,分析了企业在面对海量时序数据时的挑战,并提出了利用 TDengine 高效处理和存储数据的方法,帮助企业解决在数据采集、存储、分析等方面的痛点。通过这篇文章,作者不仅展示了自己对数据处理技术的理解,还进一步阐释了时序数据库在行业中的潜力与应用价值,为读者提供了很多实际的操作思路和技术选型的参考。
74 1
|
3月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
186 11
|
3月前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
4月前
|
运维 监控 关系型数据库
数据库管理中的自动化运维:挑战与解决方案
数据库管理中的自动化运维:挑战与解决方案
|
3月前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
90 0
|
4月前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案

热门文章

最新文章