《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——三、SQL优化与慢查询解决(上)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——三、SQL优化与慢查询解决(上)

1. 查询流程和执行计划

 

SQL语言完成用户和系统内部存储数据之间的交互。在执行阶段,AnalyticDB MySQL版中的查询,会首先被切分为多个Stage来执行,一个Stage就是执行计划中某一部分的物理实体。


image.png

 

在AnalyticDB MySQL架构中有三层:接入层、计算层、存储层,是计算存储分离架构。一条SQL语句执行过程,首先会进入接入层,经过解析器完成语句的解析生成执行计划,优化器对执行计划进行优化,形成逻辑执行计划。

 

分组聚合查询的处理流程,Controller节点会把查询的逻辑执行计划Plan分片下发到执行计划任务的各个节点上。

 

Stage2由4个Task组成,并行执行数据的扫描、过滤以及局部聚合等操作。

Stage1由2个Task执行,并行执行最终的聚合操作。

Stage0由1个Task执行,负责汇总Stage1的2个Task生成的最终聚合结果。

 

2. 算子

 

一个算子负责完成一个基本的数据处理逻辑,一组算子按照执行计划完成数据的一组处理规则,参数名称与功能如下:

 

Aggregation:通过sum()、count()、avg()等函数对数据进行聚合或分组聚合操作。

DistinctLimit:对应SQL语句中的DISTINCT LIMIT操作。

Filter:使用存储层数据的索引进行过滤。存储层数据没有索引,需要在计算层使用Filter算子进行过滤。

Join:对应SQL语句中的Join操作。

Project:对应SQL语句中对特定字段的投影操作,例如case when then控制流、concat()函数等。

StageOutput:用于将当前Stage处理后的数据通过网络传输到下游Stage的节点。

Sort:应SQL语句中ORDER BY子句的操作,执行ORDER BY字段的排序。

TableScan:用于从数据源读取数据,如果需要过滤数据,那么数据过滤由底层数据源使用索引高效完成。

TopN:对应SQL语句中的ORDER BY LIMIT m,n查询。

 

 

3. 影响查询性能的因素

 

影响查询性能的因素有:集群规格、节点数量、数据分布特征、数据量大小、查询并发度、查询复杂度。

 

1) 集群规格

 

不同集群规格的CPU核数、内存大小和数据存储介质等属性不同,处理子任务的能力也就不同,需要结合业务查询特征来选择集群规格

以Join或分组聚合为主的业务查询会消耗较多的CPU和内存资源

扫描数据和简单分组聚合操作的查询会消耗较多的磁盘I/O资源。

 

2) 节点数量

 

AnalyticDB MySQL版使用了分布式数据处理架构,一条查询会被分解成多个Stage在不同的节点上并行执行。所以如果集群中的节点数量越多,AnalyticDB MySQL版处理查询的能力也会越强。用户可以根据实际的业务需求来决定集群节点的购买数量,更多详情,请参见创建集群。

https://help.aliyun.com/document_detail/122234.html

 

3) 数据分布特征

 

由于使用了分布式数据处理架构,具备将一条查询分解到多个节点上并行执行的能力

充分利用多节点来并行处理查询,还取决于数据在存储节点上的分布特征

如果数据能够均匀分布在存储节点上,多个子任务在处理数据时,就能几乎同时结束任务

数据分布不均匀,子任务在处理数据时会存在时间上的长尾,从而影响最终的查询效果。

 

4) 数据量大小

 

在处理查询时,通常不会将处理过程中的临时结果暂时写到磁盘里,而是尽量在内存中将所有数据处理掉。

如果查询需要处理的数据量较大,就可能会长时间占用大量的资源,导致整体查询效率降低,进而影响最终的查询效果。

表存储的数据量较大,在执行索引过滤、明细数据读取等操作时会出现争抢磁盘I/O资源,导致查询变慢。

 

5) 查询并发度

 

能同时处理的查询数量也会存在上限。如果查询的并发度过高,集群节点资源已到达瓶颈,那么后台的查询就会出现较长时间的排队,影响整体查询效果。

 

6) 查询复杂度

 

查询的复杂度不同造成的压力也不同

如果查询中过滤条件过于复杂,会在数据过滤时对存储节点造成一定压力

如果查询中Join算子过多,数据可能需要在不同节点间进行多次的网络传输,造成网络阻塞

如果查询中分组字段过多,也会占用较多的内存资源。

 

 

更多精彩内容,欢迎观看:

《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——三、SQL优化与慢查询解决(下)https://developer.aliyun.com/article/1222968?groupCode=certification

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
6月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
4月前
|
SQL 分布式计算 大数据
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
本文深入介绍 Hive 与大数据融合构建强大数据仓库的实战指南。涵盖 Hive 简介、优势、安装配置、数据处理、性能优化及安全管理等内容,并通过互联网广告和物流行业案例分析,展示其实际应用。具有专业性、可操作性和参考价值。
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
|
6月前
|
运维 API 开发工具
【阿里云】操作系统控制台操作体验与性能评测全解析
操作系统控制台是现代云计算环境中进行系统管理和运维的重要工具,提供系统概览、诊断、观测、管理等功能,支持API、SDK、CLI等管理方式。通过创建角色、系统配置和组件安装等操作,用户可以高效管理云端资源,提升操作系统的使用效率和稳定性。尤其适合需要高效管理操作系统的用户及学习云计算、网络管理的学生。建议增强自定义功能、优化性能报告和完善文档支持,以进一步提升用户体验。
197 21
【阿里云】操作系统控制台操作体验与性能评测全解析
|
6月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
281 16
|
6月前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
382 7
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
475 12
|
7月前
|
云安全 人工智能 安全
阿里云网络安全体系解析:如何构建数字时代的"安全盾牌"
在数字经济时代,阿里云作为亚太地区最大的云服务提供商,构建了行业领先的网络安全体系。本文解析其网络安全架构的三大核心维度:基础架构安全、核心技术防护和安全管理体系。通过技术创新与体系化防御,阿里云为企业数字化转型提供坚实的安全屏障,确保数据安全与业务连续性。案例显示,某金融客户借助阿里云成功拦截3200万次攻击,降低运维成本40%,响应时间缩短至8分钟。未来,阿里云将继续推进自适应安全架构,助力企业提升核心竞争力。
|
7月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
7月前
|
存储 弹性计算 人工智能
阿里云发票申请图文教程及常见问题解析
在购买完阿里云服务器或者其他云产品之后,如何申请发票成为了许多用户关注的焦点。尤其是对于初次购买阿里云服务器的用户来说,发票申请流程可能并不熟悉。本文将为大家详细介绍阿里云服务器购买之后如何申请发票,以及申请过程中可能遇到的常见问题,帮助大家轻松完成发票申请。
|
7月前
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。

热门文章

最新文章

推荐镜像

更多