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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 快速学习【视频】云原生数据仓库 AnalyticDB PG 解析与实践(下)

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

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


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


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

建表过程指定分布键或分布规律:

CREATE TABLE table_ name

( ...... )

[ DISTRIBUTED BY (column. name, [...])  (哈希分布方式)

| DISTRIBUTED RANDOMLY        (随机分布方式)

| DISTRIBUTED REPLICATED ]      (复制分布方式)

;

修改分布键或分布规律:

ALTER TABLE [IF EXISTS ] [ONLY] name SET

WITH (REORGANIZE=true/false)

| DISTRIBUTED BY (column name, [...])

| DISTRIBUTED RANDOMLY

| DISTRIBUTED REPLICATED

;

 image.png注意:

修改分布键或分布规律大多数情况都将会进行数据迁移,数据量过大的表该操作会相对较久并且会锁表,无法查询。

REORGANIZE=false仅在修改前后一致或修改为随机分布时才会不进行数据重分布。

分布策略选择规则:

●小表(总行数低于1万,根据实际情况可以进行调整)优先选择复制表分布策略(DISTRIBUTEDREPLACATED)

●大表优先选择参与Join/GroupBy计算的字段作为分布键Hash分布。这时需要注意,使用哈希分布如果使用在一个分布键上的分布均匀,那它对整个的系统性能是最有利的,如果说无法保障其分布均匀,产生较大的数据倾斜,就不能使用哈希分布。

●若没有数据分布均匀的字段作为分布键使用,采用随机分布策略(DISTRIBUTED RANDOMLY)

 

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

前置条件:

1.提前存在1个RDS MySQL实例和一个ADB PG实例;

2. MySQL实例里面创建好表,里面插入一定量的数据;

3.开通DMS(为了演示方便)

操作步骤:

1.配置DTS数据同步任务,将表从RDS同步到ADB PG ;

2.启动同步任务;

3.通过DMS观察全量同步结果;

4.在RDS源端继续删除一些数据;

5.通过DMS观察增量同步结果

在DMS数据管理服务里面,找到集成与开发(DTS),默认进入的是数据迁移,找到数据重复,铅以后同步是比较接近的,数据迁移是一次性把数据都迁移过去就结束了,数据同步是建立一个内容之后它会一直进行维护。
数据同步里面创建任务,数据库类型选择MySQL,注意实例地区,要先创建好数据库的账号,当源端和目标端都选择正确以后,需要测试一下,测试通过以后开始下一步操作。从左边选择源库的对象,如果目标案已经存在了这个表,选择清空目标端数据,当然也要根据具体的业务模式进行选择,其他默认操作就可以。

下一步配置库表字段,类型选择哈希分布表,下一步保存任务后台进行预检查,该需要花费一分钟的时间,到这不就表示,所有的检查工作已经做完了,如果要配置链路的话点击下一步购买。

image.png进入同步任务视图,首先进行任务初始化,进行实时刷新,同步的过程分为三个步骤,第一个是库表结构进行同步,第二个是全量同步,第三个是进行增量同步。

整个系统在搭建的初期把线路搭建好,后面监控它日常工作方式就不需要经常去创建任务链路。这时候目的库已经存在了一张表,执行一下就可以看到数据已经同步完成,与Mysal数据量是一样的。

 

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

前置条件:

1.开通1个一个ADB PG实例;

操作步骤:

1.登陆实例控制台;

2.登陆云监控,关联监控资源;

3.设置报警规则

进入云监控控制台,里面显示是空的,是因为存储的两种方式有资源弹性和资源预留,里面显示的是资源预留的场景,点击小铃铛按钮,从这个入口进来的话它会自动关联当前的实例,自定义名称,对连接数进行设置,要根据具体的场景进行设置,通知对象云帐号报警联系人,云平台最后统一去设定,告警级别默认就可以,没有问题的话就点确认。

image.png可以查看报警历史,也可以再次进行规则修改。

 

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

前置条件:

1.开通1个一个ADB PG实例;

2.某库里面存在若干的表,其中某表存在较严重的数据倾斜

操作步骤:

1.登陆实例控制台,从节点监控观察到存在数据倾斜;

2.登陆数据库,执行命令排查具体倾斜的表;

3.执行命令修改分布列,解决数据倾斜问题;

image.png找到实例监控的节点监控,可以看到存储使用量,存储使用量有四个节点,正常情况下,它们都在同一条水平线上,这时候发现黄色的线高于其他颜色的线,存储水位也是这种情况,这时候就存在了数据倾斜。

发现有数据清洗,现在以后就要去进行定位,查找一下倾斜情况。修改一下分布列,这个过程需要搬迁数据,所以在执行过程中这个表也是不可以读写的。

 

 

二十五、真题讲解

1.在AnalyticDB PostgreSQL版中,下面(  )场景不是DTS的设计目标。

A.异地灾备

B.异构数据库读写分离

C.停机迁移数据

D.异地多活

正确答案:C

分析:所有的迁移数据和同步数据,需要源端和目的端都是启动的,所以停机迁移数据不是DTS的设计目标。

2.在AnalyticDB PostgreSQL版中,DTS增量同步支持的操作包括(  )?

A. COPY

B. DELETE

C. ADD PARTITION

D. ALTER TABLE

E. ADD TABLE

正确答案:ABD

3.AnalyticDB PostgreSQL可以通过SQL诊断功能来检索某个时间段内执行耗时较长的查询,然后在查询属性中查看目标查询的耗时。以下属于查询CPU消耗较大的是(   ) ?

A.过滤条件没有下推到存储层

B. Join条件中带有过滤操作

C. Join时没有指定Join条件

D. Join条件中没有带有过滤操作

E.过滤条件下推到存储层

正确答案:ABC

4.在AnalyticDB PostgreSQL版中,在修改分布键时若没有指定REORGANIZE=fasle,会发生(   ) ?

A.表不发生重分布

B.表中被删除的数据仍然保留

C.表中被删除的列仍然保留

D.表在分布键没有发生变化或指定随机分布策略时不进行重分布

正确答案:ABC

5.在AnalyticDB PostgreSQL版中,用户连接实例发现业务作业跑的比较慢,同时业务查询SQL处于running的状态,这个可能是如下(   )原因引起的。

A.连接数超出限制

B. XLOG堆积太大

C.数据倾斜太大

D.任务排队堆积

正确答案:C

相关实践学习
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
目录
打赏
0
0
0
0
319
分享
相关文章
京东物流基于Flink & StarRocks的湖仓建设实践
本文整理自京东物流高级数据开发工程师梁宝彬在Flink Forward Asia 2024的分享,聚焦实时湖仓的探索与建设、应用实践、问题思考及未来展望。内容涵盖京东物流通过Flink和Paimon等技术构建实时湖仓体系的过程,解决复杂业务场景下的数据分析挑战,如多维OLAP分析、大屏监控等。同时,文章详细介绍了基于StarRocks的湖仓一体方案,优化存储成本并提升查询效率,以及存算分离的应用实践。最后,对未来数据服务的发展方向进行了展望,计划推广长周期数据存储服务和原生数据湖建设,进一步提升数据分析能力。
京东物流基于Flink & StarRocks的湖仓建设实践
Hologres实时数仓在B站游戏的建设与实践
本文介绍了B站游戏业务中实时数据仓库的构建与优化过程。为满足日益增长的数据实时性需求,采用了Hologres作为核心组件优化传统Lambda架构,实现了存储层面的流批一体化及离线-实时数据的无缝衔接。文章详细描述了架构选型、分层设计(ODS、DWD、DIM、ADS)及关键技术挑战的解决方法,如高QPS点查、数据乱序重写等。目前,该实时数仓已广泛应用于运营分析、广告投放等多个场景,并计划进一步完善实时指标体系、扩展明细层应用及研发数据实时解析能力。
Hologres实时数仓在B站游戏的建设与实践
Hologres实时湖仓能力入门实践
本文由武润雪(栩染)撰写,介绍Hologres 3.0版本作为一体化实时湖仓平台的升级特性。其核心能力包括湖仓存储一体、多模式计算一体、分析服务一体及Data+AI一体,极大提升数据开发效率。文章详细解析了两种湖仓架构:MaxCompute + Hologres实现离线实时一体化,以及Hologres + DLF + OSS构建开放湖仓架构,并深入探讨元数据抽象、权限互通等重点功能,同时提供具体使用说明与Demo演示。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
本文深入解析鸿蒙操作系统(HarmonyOS)中的Core Speech Kit与Core Vision Kit,探讨其在AI功能开发中的核心能力与实践方法。Core Speech Kit聚焦语音交互,提供语音识别、合成等功能,支持多场景应用;Core Vision Kit专注视觉处理,涵盖人脸检测、OCR等技术。文章还分析了两者的协同应用及生态发展趋势,展望未来AI技术与鸿蒙系统结合带来的智能交互新阶段。
117 31
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
vivo基于Paimon的湖仓一体落地实践
本文整理自vivo互联网大数据专家徐昱在Flink Forward Asia 2024的分享,基于实际案例探讨了构建现代化数据湖仓的关键决策和技术实践。内容涵盖组件选型、架构设计、离线加速、流批链路统一、消息组件替代、样本拼接、查询提速、元数据监控、数据迁移及未来展望等方面。通过这些探索,展示了如何优化性能、降低成本并提升数据处理效率,为相关领域提供了宝贵的经验和参考。
521 3
vivo基于Paimon的湖仓一体落地实践
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
280 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
143 7
DeepSeek 实践应用解析:合力亿捷智能客服迈向 “真智能” 时代
DeepSeek作为人工智能领域的创新翘楚,凭借领先的技术实力,在智能客服领域掀起变革。通过全渠道智能辅助、精准对话管理、多语言交互、智能工单处理、个性化推荐、情绪分析及反馈监控等功能,大幅提升客户服务效率和质量,助力企业实现卓越升级,推动智能化服务发展。
115 1

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等