企业运维训练营之数据库原理与实践—数据库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将会在页面展示出具体的问题和需要创建的索引,在某一个时段自动添加索引,以提升服务性能。

 

接下篇:

相关文章
|
4天前
|
运维 监控 算法
构建高效自动化运维体系的实践与思考
【5月更文挑战第15天】 随着信息技术的飞速发展,企业对IT运维管理的要求越来越高。传统的手动运维已无法满足日益增长的业务需求,因此,构建一个高效、可靠且易于管理的自动化运维体系变得至关重要。本文将探讨在现代企业环境中,如何通过一系列策略和技术手段实现运维自动化,以及在此过程中可能遇到的挑战和解决方案。文章将基于实际案例分析,提供一种系统性的思考框架,帮助读者理解和构建适合自己的自动化运维体系。
|
4天前
|
运维 资源调度 监控
构建高效自动化运维流程的策略与实践
【5月更文挑战第15天】 在现代IT基础设施管理中,自动化运维已成为提高效率、确保稳定性和快速响应变化的关键。本文将探讨构建高效自动化运维流程的策略与实践,重点在于如何通过一系列切实可行的步骤实现从人工密集型到自动化驱动的转变。我们将讨论工具选择、流程设计、最佳实践以及持续改进的重要性,旨在帮助读者构建一个既灵活又可靠的自动化运维环境。
28 3
|
4天前
|
运维 监控 Kubernetes
构建高效自动化运维体系:基于容器技术的持续集成与持续部署(CI/CD)实践
【5月更文挑战第15天】 随着云计算和微服务架构的普及,传统的IT运维模式面临转型压力。为提高软件交付效率并降低运维成本,本文探讨了利用容器技术实现自动化运维的有效策略。重点分析了在持续集成(CI)和持续部署(CD)流程中,容器如何发挥作用,以及它们如何帮助组织实现敏捷性和弹性。通过具体案例研究,文章展示了容器化技术在自动化测试、部署及扩展中的应用,并讨论了其对系统稳定性和安全性的影响。
|
4天前
|
运维 监控 安全
构建高效自动化运维系统:基于容器技术的持续集成与持续部署(CI/CD)实践
【5月更文挑战第14天】 随着DevOps文化的深入人心,持续集成与持续部署(CI/CD)已成为现代软件工程不可或缺的组成部分。本文将探讨如何利用容器技术,尤其是Docker和Kubernetes,构建一个高效、可扩展的自动化运维系统。通过深入分析CI/CD流程的关键组件,我们将讨论如何整合这些组件以实现代码从提交到生产环境的快速、无缝过渡。文章还将涉及监控、日志管理以及安全性策略等运维考量,为读者提供一个全面的自动化运维解决方案蓝图。
|
4天前
|
运维 安全 关系型数据库
参加数据库管理工具DAS训练营,赢取国潮保温杯和阿里云定制双肩包!
本训练营带您简单了解数据库自治与云安全服务,数据库自治服务提供云上RDS、PolarDB、NoSQL、ADB等数据库7*24小时异常检测、SQL自优化、安全合规审计、弹性伸缩、数据自治、锁分析等亮点功能。一站式自动化、数字化DAS集成平台,助力您畅享DBA运维智能化。
|
4天前
|
SQL 运维 数据库
数据库自治专家DAS在手,安心过春节!
春节期间,企业数据库可能面临的问题高发在稳定性、性能和安全性等方面,比如:会遭遇人手不足,IT支持可能会因运维工程师休假、交通通勤而受到限制,也会存在远端接入不方便、通信不畅通、处理不及时等问题。除此之外,大规模增长的商业活动促销和交易量波动增加,交易系统有可能凌晨依然存在高峰负载压力等问题,这对数据库性能是一场不小的考验,上述种种问题,都需要更精确的、更全方位的守护系统。通过DAS智能助手,能够实现7*24小时的守护,接触DBA焦虑,保障系统平稳有序运行。
352 2
|
8月前
|
运维 关系型数据库 分布式数据库
使用DAS实现数据库异常检测
本场景主要介绍如何使用DAS异常检测功能,对数据库PolarDB MySQL 进行异常检测,能够更为及时地发现数据库的异常变化提升数据库系统的稳定性,提高运维效率。 背景知识
231 0
|
8月前
|
SQL 关系型数据库 分布式数据库
使用DAS实现数据库自动SQL优化
本场景介绍如何使用DAS实现数据库自动SQL优化。
111 0
|
8月前
|
SQL 关系型数据库 分布式数据库
使用DAS实现数据库自动SQL限流
本场景主要介绍如何使用DAS提供SQL限流功能,通过自动SQL限流来控制数据库请求访问量和SQL并发量,保障服务的可用性。
142 0
|
8月前
|
关系型数据库 MySQL 分布式数据库