【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(四)

简介: 快速学习【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3

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

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


【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3


3.删除数据/分区/表

AnalyticDB for MySQL提供多种数据删除方式,主要语句为DELETE与TRUNCATE。推荐策略为∶

l 数据删除频率低、基于主键为条件的删除,可通过DELETE FROM WHERE PK='xx'删除数据。

l 数据删除频率低、基于任意条件的删除,可通过DELETE删除数据。

如果数据删除频率低一般都用DELETE完成,删除大量数据可以通过TRUNCATE完成,并且TRUNCATE可以删除表中某一分区。

l 通过TRUNCATE TABLE db_name.table_name PARTITION partition_name册除指定二级分区。

l 通过TRUNCATE TABLE db_name.table_name删除指定表(包括所有二级分区)数据。

4.批量导入数据

AnalyticDB for MySQL支持多种数据源,实现数据导入导出。批量导入适用于大数据量导入的场景,导入过程中可以查询旧数据,导入操作完成后一键切换新数据。导入失败时,支持回滚新数据,不影响查询旧数据。

l 从大数据系统、大存储环境导入数据,采用INSERT OVERWRITE INTO SELECT方式处理,如从MaxCompute、OSS导入数据到AnalyticDB for MySQL;

l 批量导入单个表时,导入任务会在系统中串行执行;批量导入多个表时,导入任务会在系统中并行执行,默认并行执行2个任务;

1. 实时导入数据

l AnalyticDB for MySQL实时导入适用于小数据量导入的场景。

l 从业务系统实时导入数据时采用INSERTINTO SELECT FROM,把一个表的数据导入另一个表中。

l 实时导入任务使用AnalyticDB for MySQL中的资源,如果查询数据期间需要导入数据,建议在QPS(Query Per Second,每秒查询率)较低时进行导入操作。导入会耗费资源,如果在用户查询高峰期导入数据,会对正常业务带来影响。


四、操作演示——创建数据仓库并完成数据同步

把RDS MySQL中一张表的数据导入进ADB MySQL中,实现数据导入。

过程分为6个步骤:

1. 在ADB MySQL创建高权限账号

2. 创建数据库

3创建RDS MySQL外表

4.创建AnalyticDB MySQL表

5.转储RDS MySQL的数据到AnalyticDB MySQL中

6.导入数据验证

实验以ADS官方文档进行操作。通过已经建好的ADS MySQL集群以及RDS实例,将数据从RDS中导入进ADS MySQL中。RDS MySQL实例需与AnalyticDB MySQL集群在同一个VPC下。

image.png为了保证AnalyticDB MySQL能访问RDS,需要将RDS设置白名单。默认白名单为1.27.0.1,表示禁止所有地址访问。复制专有网络的地址后修改RDS白名单

 image.png

image.pngRDS数据库创建账号登录DMS。使用root创建数据库账号,获取最高权限。设置密码。

image.png访问数据库在数据库连接中获取地址,获取地址后创建外部表可以用到。

此时需要创建两个表,一个是adb数据局的表,一个是外部表,通过外部表来实现数据的导入导出。首先需要登录到集群当中,创建账号,创建一个最高权限的账号,名称为root,同时设置密码。

image.png此时对于adb mysql集群来说,如果想要通过外表的方式导入数据,需要打开网络,然后此时可以连接集群,在集群中创建对应数据库及web的映射表。

image.png默认数据库有两个,此时需要创建一个自己的数据库,命名为adb.demo,此时可以访问它,在adb当中再创建一张外部表,创建语句为:

CREATE TABLE IF NOT EXISTS goods_external_table (

goods_id bigint(20) NOT NULL,

price double NOT NULL, class bigint(20) NOT NULL,

name varchar(32) NOT NULL,

update_time timestamp,

PRIMARY KEY (goods_id)

)

ENGINE='mysql' TABLE_PROPERTIES='{

"url":"jdbc:mysql://rm-bp1925ru5x6pzt2m3.mysql.rds.aliyuncs.com.3306/test_adb",

"tablename":"goods",

"username":"root",

"password":"zhou_123456"

}';

此时已经完成了外部表的创建,此时需要在adb mysql当中创建自己的表,代码如下:

CREATE TABLE IF NOT EXISTS mysql_import_test (

goods_id bigint(20) NOT NULL,

price double NOT NULL,

class bigint(20) NOT NULL,

name varchar(32) NOT NULL,

update_time timestamp, PRIMARY KEY (goods_id)

)

DISTRIBUTED BY HASH(goods_id);

此时有了外部表和一个adb的表,此时可以通过insert来完成数据的导入导出,此时执行代码如下:

Insert inte mysql_import_test select * from good_external_table;//导入操作

此时执行,可以看到执行一条语句成功,此时打开表,可以看到已经显示。

image.png此时完成了一次数据导入的过程。把rds mysql的数据导入到了adb mysql当中。

此时案例演示结束。

 

五、试题

1. 在AnalyticDB MySQL中,_____尽可能需要将Join的字段作为分布键。例如订单表和用户表通过user_id做join,这两张表都可用user_id做分布。

A,.本地化原则

B. 均匀性原则

C. 分布式原则

D. 复制原则

解析:

A,此种方式可以保证join在本节点完成,不需要做数据的传输,又例如提高性能。

2. 在AnalyticDB MySQL版中,冷数据指的是访问频次较低的数据,采用______存储,满足存储空间的需求。

A. SSD

B. HDD

C. SSHD

D. SHDD

解析:

B,AnalyticDB MySQL一个显著的特征是实现了冷热数据分层,在创建表时,可以指定表是以热、冷还是温数据存储。热数据是存储在SSD(准确的说是ESSD)冷数据是存在OSS。

3. 在AnalyticDB MySQL版中,为什么需要全量同步?

A. 源库历史数据的binlog可能已经删除

B. 开启同步钱源表中已有数据,必须通过全量数据同步来同步

C. 全量同步可以并行拉取和同步,大量历史数据的同步性能较好

D. AnalyticDB MySQL端的表结构需要全量同步来创建。

解析:

AC,源库历史数据的binlog可能已经删除,此时无法通过日志触放的方式来完成数据的导入,只能通过全量方式来实现。同时,全量同步根据主键来进行划分,划分之后每一部分数据可以并行来处理,具有较好的性能。

4. 在AnalyticDB MySQL版中,下列有关查询优化手段说法正确的是_______。

A. 查询过滤条件中指定分部间或分区建可以进行分区裁剪,减少扫描数据量。

B. 过滤条件中的列确保创建索引,才能支持条件下推

C. 对于筛选率比较低的过滤条件,可以指定列no-index进行调选

D. 聚集索引可以建多个,比如既要按照卖家id频繁访问,又要按照品牌id频繁访问,那可以建2个聚集索引

解析:

ABC,一个表上只能创建一个聚集索引,因为聚集索引会造成数据重分布,如果有多个聚集索引,数据不知按哪个进行分布。


六、回顾与总结

image.png

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
SQL 关系型数据库 MySQL
深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 中的 `EXPLAIN` 语句用于分析和优化 SQL 查询,帮助你了解查询优化器的执行计划。本文详细介绍了 `EXPLAIN` 输出的各项指标,如 `id`、`select_type`、`table`、`type`、`key` 等,并提供了如何利用这些指标优化索引结构和 SQL 语句的具体方法。通过实战案例,展示了如何通过创建合适索引和调整查询语句来提升查询性能。
2563 10
|
9月前
|
人工智能 API 语音技术
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技术与鸿蒙系统结合带来的智能交互新阶段。
621 31
|
9月前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
537 7
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek 实践应用解析:合力亿捷智能客服迈向 “真智能” 时代
DeepSeek作为人工智能领域的创新翘楚,凭借领先的技术实力,在智能客服领域掀起变革。通过全渠道智能辅助、精准对话管理、多语言交互、智能工单处理、个性化推荐、情绪分析及反馈监控等功能,大幅提升客户服务效率和质量,助力企业实现卓越升级,推动智能化服务发展。
403 1
|
9月前
|
机器学习/深度学习 人工智能 监控
鸿蒙赋能智慧物流:AI类目标签技术深度解析与实践
在数字化浪潮下,物流行业面临变革,传统模式的局限性凸显。AI技术为物流转型升级注入动力。本文聚焦HarmonyOS NEXT API 12及以上版本,探讨如何利用AI类目标签技术提升智慧物流效率、准确性和成本控制。通过高效数据处理、实时监控和动态调整,AI技术显著优于传统方式。鸿蒙系统的分布式软总线技术和隐私保护机制为智慧物流提供了坚实基础。从仓储管理到运输监控再到配送优化,AI类目标签技术助力物流全流程智能化,提高客户满意度并降低成本。开发者可借助深度学习框架和鸿蒙系统特性,开发创新应用,推动物流行业智能化升级。
316 1
|
11月前
|
Serverless 对象存储 人工智能
智能文件解析:体验阿里云多模态信息提取解决方案
在当今数据驱动的时代,信息的获取和处理效率直接影响着企业决策的速度和质量。然而,面对日益多样化的文件格式(文本、图像、音频、视频),传统的处理方法显然已经无法满足需求。
446 4
智能文件解析:体验阿里云多模态信息提取解决方案
|
9月前
|
存储 自然语言处理 监控
深度解析淘宝商品评论API接口:技术实现与应用实践
淘宝商品评论API接口是电商数据驱动的核心工具,帮助开发者高效获取用户评价、画像及市场趋势。其核心功能包括多维度信息采集、筛选排序、动态更新、OAuth 2.0认证和兼容多种请求方式。通过该接口,开发者可进行商品优化、竞品分析、舆情监控等。本文详细解析其技术原理、实战应用及挑战应对策略,助力开启数据驱动的电商运营新篇章。
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
1627 30
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
972 14
|
存储 关系型数据库 MySQL
double ,FLOAT还是double(m,n)--深入解析MySQL数据库中双精度浮点数的使用
本文探讨了在MySQL中使用`float`和`double`时指定精度和刻度的影响。对于`float`,指定精度会影响存储大小:0-23位使用4字节单精度存储,24-53位使用8字节双精度存储。而对于`double`,指定精度和刻度对存储空间没有影响,但可以限制数值的输入范围,提高数据的规范性和业务意义。从性能角度看,`float`和`double`的区别不大,但在存储空间和数据输入方面,指定精度和刻度有助于优化和约束。
1769 5

热门文章

最新文章

推荐镜像

更多
  • DNS