《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)

简介: 《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)

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

《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上):https://developer.aliyun.com/article/1222976?spm=a2c6h.12873581.technical-group.dArticle1222976.7f81b096nfeL5J


3) DML外表式数据导入导出-MaxCompute

 

操作步骤

 

• 确定目标和源表:MaxCompute/AnalyticDB数据表

• 创建映射表:在AnalyticDB中创建该数据表的映射表

• DML命令导出:INSERT(OVERWRITE)INTO

 

外部表主要参数

 

ENGINE='ODPS' ---存储引擎是 MaxCompute
TABLE_PROPERTIES=’{
"endpoint": "http://service.cn.maxcompute.aliyun-inc.com/api" ---MaxCompute 的
EndPoint (域名节点)
"accessid": "LTAIF***5FSE", ---访问 MaxCompute 的 AccessKey ID
"accesskey": "Ccw***iWjv", ---对应的 ID 的 Access key Secret
"project name": "odps_project1", ---MaxCompute 中的工作空间名称
"tablename": "xxx_xxx" ---MaxCompute 中的数据表名称
}'

 

说明

目前仅支持AnalyticDB MySQL通过MaxCompute的VPC网络Endpoint访问MaxCompute。

 

4) DML外表式数据导入导出-OSS

 

操作步骤

 

• 确定目标和源表:

ü OSS:是文件形式存储,将数据加载到ADB中

ü AnalyticDB:也可以将ADB表中的数据导出到OSS文件中

• 创建映射表:AnalyticDB中创建该数据表的映射表

• DML命令导出:INSERT(OVERWRITE)INTO

 

外部表主要参数

 

ENGINE='OSS' ---存储引擎是 OSS
TABLEPROPERTES='{
"endpoint": "oss-cn-xxxxxx-internal.aliyuncs.com", ---OSS 的 EndPoint (域名节点)
"ur" /bucket-name/xxx/ --OSS 中文件夹的地址,以/结尾
"accessid": "LTAlF****5FSE", ---访问 OSS 文件的 Access Key ID
"accesskey": "CCW**iWjV", ---访问 OSS 文件的 Access Key Secret
"delimiter": ";" ---定义 OSS 中数据文件的列分隔符
}'

 

说明

OSS与AnalyticDB MySQL所属Region相同,不能跨Region导入导出。

 

4. 数据同步

 

1) RDS到ADB同步链路整体介绍

 

数据导入导出是一次性的、不能实时观察到元数据的改变,可以通过DTS数据传输服务搭建同步链路,实现对数据源实时数据改变的感知。

image.png

 

• DTS:数据传输服务(Data Transmission Service),支持关系型数据库、NoSQL及大数据(OLAP)等数据源间的数据传输。

• 可通过DTS同步多种数据源数据到AnalyticDB MySQL(下文简称ADB),数据源包括RDS MySQL、PolarDB MySQL、PolarDB-X等,实现交互式BI分析和数仓迁移。

• 本教程重点介绍RDS MySQL到ADB的同步流程,其他数据源同步流程类似。

 

2) 数据同步步骤

 

数据同步由结构初始化、全量同步、增量同步三个步骤组成。

image.png

 

如图,数据存在RDS MySQL中,数据需要先在AnalyticDB MySQL中完成RDS MySQL的结构初始化,然后将RDS MySQL中全量数据同步到AnalyticDB MySQL中,最后通过增量同步保证数据的完整一致性。

 

a) 结构初始化

 

结构初始化是同步的第一个环节,即在ADB端创建与源MySQL对应的表结构。

 

• 首先,确认MySQL和ADB间的表结构关系。

• 然后,根据配置的表结构信息,DTS会自动在ADB端创建表,指定表的主键列和分布列,DTS会根据这些信息,加上其他列的信息,在AnalyticDB MySQL端建表。

• 分布列是AnalyticDB MySQL的表结构属性,ADB会根据该列把数据在多个节点上进行分布式存储。

• 注意,源端必须存在主键列,否则无法正确同步数据。

 

b) 全量同步

 

• 在结构初始化后,DTS会进行全量同步,然后在此基础上,再基于BinLog进行增量同步。

• 全量同步的方法是基于主键划分区间,然后并行同步到ADB中,可以简单理解为按主键范围把数据从MySQL中查询出来,并写入到ADB中,这样可以实现高效的并行写,加快全量同步性能。

image.png

 

• 为什么需要全量同步?

 MySQL中存在大量历史数据,这些数据对应的BinLog或许已经被删除,无法通过重放BinLog来同步这部分数据。

 同时,并行、批量拉取数据并写入ADB,效率也比逐行解析BinLog要高。

 

c) 增量同步

 

完成结构初始化和全量同步,则进入增量同步阶段。

 

• 首先,MySQL端的修改会产生BinLog,DTS通过捕获并解析MySQL端的BinLog日志,转换为Insert/Update/Delete/Alter等语句,并在ADB端回放这些操作,实现MySQL到ADB的增量同步。

 

• 结构初始化、全量同步都是一次性的,增量同步则是持续的,只要MySQL端有变化,DTS就会捕获并同步到ADB端。

 

image.png

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
存储 SQL 关系型数据库
MySQL中binlog、redolog与undolog的不同之处解析
每个都扮演回答回溯与错误修正机构角色: BinLog像历史记载员详细记载每件大大小小事件; RedoLog则像紧急救援队伍遇见突發情況追踪最后活动轨迹尽力补救; UndoLog就类似时间机器可倒带历史让一切归位原始样貌同时兼具平行宇宙观察能让多人同时看见各自期望看见历程而互不干扰.
711 9
|
存储 SQL 关系型数据库
MySQL 核心知识与索引优化全解析
本文系统梳理了 MySQL 的核心知识与索引优化策略。在基础概念部分,阐述了 char 与 varchar 在存储方式和性能上的差异,以及事务的 ACID 特性、并发事务问题及对应的隔离级别(MySQL 默认 REPEATABLE READ)。 索引基础部分,详解了 InnoDB 默认的 B+tree 索引结构(多路平衡树、叶子节点存数据、双向链表支持区间查询),区分了聚簇索引(数据与索引共存,唯一)和二级索引(数据与索引分离,多个),解释了回表查询的概念及优化方法,并分析了 B+tree 作为索引结构的优势(树高低、效率稳、支持区间查询)。 索引优化部分,列出了索引创建的六大原则
427 2
|
监控 关系型数据库 MySQL
DTS实时同步进阶:MySQL到AnalyticDB毫秒级ETL管道搭建
本方案采用“Binlog解析-数据清洗-批量写入”三级流水线架构,实现MySQL到AnalyticDB的高效同步。通过状态机解析、内存格式转换与向量化写入技术,保障毫秒级延迟(P99<300ms)、50万+ TPS吞吐及99.99%数据一致性,支持高并发、低延迟的数据实时处理场景。
525 10
|
存储 SQL 关系型数据库
MySQL 核心知识与性能优化全解析
我整理的这份内容涵盖了 MySQL 诸多核心知识。包括查询语句的书写与执行顺序,多表查询的连接方式及内、外连接的区别。还讲了 CHAR 和 VARCHAR 的差异,索引的类型、底层结构、聚簇与非聚簇之分,以及回表查询、覆盖索引、左前缀原则和索引失效情形,还有建索引的取舍。对比了 MyISAM 和 InnoDB 存储引擎的不同,提及性能优化的多方面方法,以及超大分页处理、慢查询定位与分析等,最后提到了锁和分库分表可参考相关资料。
333 0
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
1045 4
JSON数据解析实战:从嵌套结构到结构化表格
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
关系型数据库 MySQL
MySQL字符串拼接方法全解析
本文介绍了四种常用的字符串处理函数及其用法。方法一:CONCAT,用于基础拼接,参数含NULL时返回NULL;方法二:CONCAT_WS,带分隔符拼接,自动忽略NULL值;方法三:GROUP_CONCAT,适用于分组拼接,支持去重、排序和自定义分隔符;方法四:算术运算符拼接,仅适用于数值类型,字符串会尝试转为数值处理。通过示例展示了各函数的特点与应用场景。
|
JSON 监控 网络协议
Bilibili直播信息流:连接方法与数据解析
本文详细介绍了自行实现B站直播WebSocket连接的完整流程。解析了基于WebSocket的应用层协议结构,涵盖认证包构建、心跳机制维护及数据包解析步骤,为开发者定制直播数据监控提供了完整技术方案。
3003 9
|
机器学习/深度学习 JSON 算法
淘宝拍立淘按图搜索API接口系列的应用与数据解析
淘宝拍立淘按图搜索API接口是阿里巴巴旗下淘宝平台提供的一项基于图像识别技术的创新服务。以下是对该接口系列的应用与数据解析的详细分析

热门文章

最新文章

推荐镜像

更多