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

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 《阿里云认证的解析与实战-数据仓库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命令导出:INSERTOVERWRITEINTO

 

外部表主要参数

 

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,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
打赏
0
0
1
0
50
分享
相关文章
京东物流基于Flink & StarRocks的湖仓建设实践
本文整理自京东物流高级数据开发工程师梁宝彬在Flink Forward Asia 2024的分享,聚焦实时湖仓的探索与建设、应用实践、问题思考及未来展望。内容涵盖京东物流通过Flink和Paimon等技术构建实时湖仓体系的过程,解决复杂业务场景下的数据分析挑战,如多维OLAP分析、大屏监控等。同时,文章详细介绍了基于StarRocks的湖仓一体方案,优化存储成本并提升查询效率,以及存算分离的应用实践。最后,对未来数据服务的发展方向进行了展望,计划推广长周期数据存储服务和原生数据湖建设,进一步提升数据分析能力。
281 1
京东物流基于Flink & StarRocks的湖仓建设实践
中国联通网络资源湖仓一体应用实践
本文分享了中国联通技术专家李晓昱在Flink Forward Asia 2024上的演讲,介绍如何借助Flink+Paimon湖仓一体架构解决传统数仓处理百亿级数据的瓶颈。内容涵盖网络资源中心概况、现有挑战、新架构设计及实施效果。新方案实现了数据一致性100%,同步延迟从3小时降至3分钟,存储成本降低50%,为通信行业提供了高效的数据管理范例。未来将深化流式数仓与智能运维融合,推动数字化升级。
143 0
中国联通网络资源湖仓一体应用实践
Hologres实时数仓在B站游戏的建设与实践
本文介绍了B站游戏业务中实时数据仓库的构建与优化过程。为满足日益增长的数据实时性需求,采用了Hologres作为核心组件优化传统Lambda架构,实现了存储层面的流批一体化及离线-实时数据的无缝衔接。文章详细描述了架构选型、分层设计(ODS、DWD、DIM、ADS)及关键技术挑战的解决方法,如高QPS点查、数据乱序重写等。目前,该实时数仓已广泛应用于运营分析、广告投放等多个场景,并计划进一步完善实时指标体系、扩展明细层应用及研发数据实时解析能力。
Hologres实时数仓在B站游戏的建设与实践
Hologres实时湖仓能力入门实践
本文由武润雪(栩染)撰写,介绍Hologres 3.0版本作为一体化实时湖仓平台的升级特性。其核心能力包括湖仓存储一体、多模式计算一体、分析服务一体及Data+AI一体,极大提升数据开发效率。文章详细解析了两种湖仓架构:MaxCompute + Hologres实现离线实时一体化,以及Hologres + DLF + OSS构建开放湖仓架构,并深入探讨元数据抽象、权限互通等重点功能,同时提供具体使用说明与Demo演示。
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
抖音集团电商流量实时数仓建设实践
本文基于抖音集团电商数据工程师姚遥在Flink Forward Asia 2024的分享,围绕电商流量数据处理展开。内容涵盖业务挑战、电商流量建模架构、流批一体实践、大流量任务调优及总结展望五个部分。通过数据建模与优化,实现效率、质量、成本和稳定性全面提升,数据质量达99%以上,任务性能提升70%。未来将聚焦自动化、低代码化与成本优化,探索更高效的流批一体化方案。
224 12
抖音集团电商流量实时数仓建设实践
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
181 28
|
2月前
|
mysql数据引擎有哪些
MySQL 提供了多种存储引擎,每种引擎都有其独特的特点和适用场景。以下是一些常见的 MySQL 存储引擎及其特点:
86 0

热门文章

最新文章

推荐镜像

更多