【视频】云原生数据仓库 AnalyticDB PG 解析与实践(下)|学习笔记(一)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云解析 DNS,旗舰版 1个月
简介: 快速学习【视频】云原生数据仓库 AnalyticDB PG 解析与实践(下)

开发者学堂课程【数据仓库 ACP 认证课程【视频】云原生数据仓库 AnalyticDB PG 解析与实践(下)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/928/detail/14627


【视频】云原生数据仓库 AnalyticDB PG 解析与实践(下)


内容介绍:

一、数据同步: ADBPG  DTS 同步链路

二、数据同步监控—用户侧

三、数据同步:链路典型的问题排查

四、控制台监控

五、云监控预警

六、SQL 性能调优: Cascade 框架 SQL 优化器

七、SQL 性能调优:向量化计算引擎

八、SQL 性能调优:SQL 诊断

九、SQL 性能调优:执行计划两种收集模式

十、SQL 性能调优:执行计划

十一、SQL 性能调优:可视化执行计划

十二、SQL 性能调优:如何发现问题

十三、SQL 性能调优:通过索引提升查询性能

十四、SQL 性能调优:消除 Redistribute Motion

十五、SQL 性能调优:避免下盘

十六、SQL 性能调优:锁的检测及处理

十七、SQL 性能调优:空间回收

十八、SQL 性能调优;避免数据倾斜

十九、SQL 性能调优:数据倾斜-用户控制台排查

二十、SQL 性能调优:数据倾斜-SQL 排查

二十一、SQL 性能调优:数据倾斜的原因和解决

二十二、演示1:通过 DTS 做数据同步

二十三、演示2:增加监控报警规则

二十四、演示3:排查解决数据倾斜

二十五、真题讲解

 

本次介绍的是核心功能解析与实践的后半部分的几个功能,主要包括第一部分是数据同步,第二部分是监控报警使用和监控巡检,第三部分是SQL的调优。第四部分会对上面的功能进行演示,第五部分会把一些相关的真题进行讲解,最后可以自由提问。

 

一、数据同步: ADBPG  DTS 同步链路

ADBPG数据同步主要使用DTS,DTS是阿里云的数据同步的服务,同步的数据源来自于上游的数据库系统,一般是RDS或mysql RDSPG这种关系型数据库,一般ADBPG作为数据仓库,它是作为目的库来进行同步的。

DTS完成的主要是订阅和捕捉源数据库全量和增量的数据,并且能够转换为目的库ADBPG所能使用的语法。然后把这些数据插入到目的库里,当然为了优化性能它在内部进行自动攒批,会调用一些copy或者insert命令进行批量写入。

ADB PG使用同步链路的目标场景需要重点关注一下:数据在线迁移(源库和目的库都是在线的)、实时同步(比如说源库的数据有业务系统在进行数据的变更,它可以基本无延时的情况下同步到目的库(ADBPG库)),还有一个场景就是异地灾备(读写分离、双活),主要是把两个库之间进行一个串联。此处重点关注ADBPG里面需要注意的一些方面。

l 每个表列数最多1600列

l 每个表行数最多2^48行

l 部分支持修改字段类型

如int- > bigint

如bigint- > decimal

l 非法值(ADBPG不能识别的值,会导致链路报错)不支持写入(如2020-05-00 00:00:00、 100:00:00等)

l 不支持的类型同步数据不可使用(如GEOMETRY、POINT、LINESTRING、 POLYGON等类型)

l 列/表/数据库名称最长63个字符

l 不支持unsigned类型

image.png

其他详细参考ADBPG内核限制( https://help.aliyun.com/document detail/157891.html )

DTS使用限制( https://help.aliyun.com/document._detail/149450.html )

简单介绍一下DTS内部原理,它是在内部进行自动攒被,对于存在大量Update delete场景,由于无法进行自动攒被,内部转化成copy命令进行入库会变成insert。

这样会影响性能,尤其是在包括热点行更新的情况下,性能会大幅度下降,所以这会在使用的时候需要特别注意,尽量让数据能够批量进入。

 

二、数据同步监控—用户侧

image.png介绍一下如何对数据链路进行监控。在DTS侧有专门的控制台进行监测,这里重点是在ADBPG一侧控制台界面的监控报警菜单里面,这个界面可以看到,实例运行状态、性能负载,包括协调节点的连接数,存储的总的水位。

还有计算节点的个数,还包括存储空间,重点关注计算节点的连接数和协调节点的连接数。

协调节点连接数之前是有比较大规模的一个入库,导致连接数有急剧的上升,图像上能看出明显的波峰,通过这个界面可以很好的对DTS链路的情况进行监控。尤其还要关注CPU的使用率和吞吐率,一般来说如果是单纯利用DTS进行数据同步的场景,那么master的连接数包括CPU的数量都是相对比较恒定的,它和在线业务是不太一样的,一旦有链路建立成功之后,它的变化是非常少的。

但如果突然连接数或者CPU的利用率发生了比较大的波动,那么就需要关注这里面出现的状况,尤其是CPU的利用率大规模降低的时候,需要检查一下数据链路是否工作正常。

 

三、数据同步:链路典型的问题排查

1.热点行更新

image.png现象:监测到CPU利用率有了大幅度的下降,出现了明显的波谷,这个时候上流没有达到限流,入库RT时间不高,节点负载也不高,但是速度就是不提不上来的现象。

这个时候就要对其进行系统性的排查,先检查master到DTS的链路有没有明显变化,从业务的上游系统监控来看,如果负载没有明显变化,那么就要怀疑是否存在热点行的更新,需要做进一步的排查。通过一系列视图排查发现是否出现有针对热点的锁和锁的等待这种情况。

如果无法通过视图直接观察,也可能是冲突情况不明显,这就需要询问源库的客户,是不是有热点行更新的现象,也可以找后台的值班去观察一下后台数据库的日志,包括一些审计的日志,它有没有出现频繁的update/delete现象。

如果一旦确定是热点行引起的,从DTS的话它是无法避免的,也无法彻底的从DTS工具层进行解决,如果确定那就需要去关注整体性能,并且建议客户把热点行更新,把这个场景从同步对象中删除,或者集中到某一个时间点进行集中化处理,这是针对链路典型问题的排查方法。

2.排查方式

执行任务诊断,非常严重的热点行更新是会被诊断到的

咨询客户源库是否有热点行更新的情况

此问题排查较复杂,可以找DTS值班同学协助排查

3.优化方式

目前DTS没有很好的处理方式,一旦确认源库有热点行更新情况,并且关注整体性能,建议客户把热点行更新的表从同步对象中去掉。

 

四、控制台监控

控制台监控可以从数据库Master(协调节点)和计算节点两个方面,对用户数据库实例的CPU 、内存、磁盘IO和空间,连接数实现监控。具体如下:

●控制台监控提供最近7天的监控数据。

●监控汇总提供master的监控信息,包括CPU和内存利用率、总连接数、I0吞吐和磁盘空间监控

●计算节点监控提供计算节点的监控信息,包括CPU和内存利用率,读写IOPS ,磁盘空间

image.png控制台可以看到每一个节点的运行状况,对节点设置标签可以方便用户对节点进行过滤和监控,如果master节点和CPU利用率比较高,就要排查具体升高的原因,不排除是节点故障原因导致的。

另外需要关注的是从监控控制台关注的是一个存储的水位,存储的水位会随着业务的增加而缓慢增加,如果存储水位升到一定的比例,按现在来说就是90%以上的时候,整个集群会进入到一个只读模式,这样就会影响写入业务,进入只读模式是为了保护数据库磁盘不会达满。当达到90%的时候,就需要进行处理,可以删除一些历史数据,或者是提前联系厂商对集群进行扩容,可以考虑这两个方法。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
4天前
|
SQL 存储 消息中间件
vivo基于Paimon的湖仓一体落地实践
本文整理自vivo互联网大数据专家徐昱在Flink Forward Asia 2024的分享,基于实际案例探讨了构建现代化数据湖仓的关键决策和技术实践。内容涵盖组件选型、架构设计、离线加速、流批链路统一、消息组件替代、样本拼接、查询提速、元数据监控、数据迁移及未来展望等方面。通过这些探索,展示了如何优化性能、降低成本并提升数据处理效率,为相关领域提供了宝贵的经验和参考。
300 3
vivo基于Paimon的湖仓一体落地实践
|
8天前
|
SQL 分布式计算 数据挖掘
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
|
20天前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
131 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
6天前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
48 7
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek 实践应用解析:合力亿捷智能客服迈向 “真智能” 时代
DeepSeek作为人工智能领域的创新翘楚,凭借领先的技术实力,在智能客服领域掀起变革。通过全渠道智能辅助、精准对话管理、多语言交互、智能工单处理、个性化推荐、情绪分析及反馈监控等功能,大幅提升客户服务效率和质量,助力企业实现卓越升级,推动智能化服务发展。
43 1
|
10天前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
9天前
|
机器学习/深度学习 人工智能 监控
鸿蒙赋能智慧物流:AI类目标签技术深度解析与实践
在数字化浪潮下,物流行业面临变革,传统模式的局限性凸显。AI技术为物流转型升级注入动力。本文聚焦HarmonyOS NEXT API 12及以上版本,探讨如何利用AI类目标签技术提升智慧物流效率、准确性和成本控制。通过高效数据处理、实时监控和动态调整,AI技术显著优于传统方式。鸿蒙系统的分布式软总线技术和隐私保护机制为智慧物流提供了坚实基础。从仓储管理到运输监控再到配送优化,AI类目标签技术助力物流全流程智能化,提高客户满意度并降低成本。开发者可借助深度学习框架和鸿蒙系统特性,开发创新应用,推动物流行业智能化升级。
|
10天前
|
存储 分布式数据库 Apache
小米基于 Apache Paimon 的流式湖仓实践
小米基于 Apache Paimon 的流式湖仓实践
小米基于 Apache Paimon 的流式湖仓实践
|
13天前
|
存储 分布式数据库 Apache
小米基于 Apache Paimon 的流式湖仓实践
本文整理自Flink Forward Asia 2024流式湖仓专场分享,由计算平台软件研发工程师钟宇江主讲。内容涵盖三部分:1)背景介绍,分析当前实时湖仓架构(如Flink + Talos + Iceberg)的痛点,包括高成本、复杂性和存储冗余;2)基于Paimon构建近实时数据湖仓,介绍其LSM存储结构及应用场景,如Partial-Update和Streaming Upsert,显著降低计算和存储成本,简化架构;3)未来展望,探讨Paimon在流计算中的进一步应用及自动化维护服务的建设。
小米基于 Apache Paimon 的流式湖仓实践
|
7天前
|
存储 自然语言处理 监控
深度解析淘宝商品评论API接口:技术实现与应用实践
淘宝商品评论API接口是电商数据驱动的核心工具,帮助开发者高效获取用户评价、画像及市场趋势。其核心功能包括多维度信息采集、筛选排序、动态更新、OAuth 2.0认证和兼容多种请求方式。通过该接口,开发者可进行商品优化、竞品分析、舆情监控等。本文详细解析其技术原理、实战应用及挑战应对策略,助力开启数据驱动的电商运营新篇章。

热门文章

最新文章