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

本文涉及的产品
对象存储 OSS,20GB 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
对象存储 OSS,恶意文件检测 1000次 1年
简介: 《阿里云认证的解析与实战-数据仓库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

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
2月前
|
关系型数据库 MySQL Apache
**ADB MySQL湖仓版能够平滑迁移到湖仓**,阿里云提供了相应的迁移工具和服务来简化这一过程。
**ADB MySQL湖仓版能够平滑迁移到湖仓**,阿里云提供了相应的迁移工具和服务来简化这一过程。
19 2
|
4月前
|
存储 数据管理 物联网
深入解析数据仓库与数据湖:建构智能决策的桥梁
在当今信息时代,数据成为企业决策与创新的关键资源。本文将深入探讨数据仓库与数据湖的概念与应用,介绍其在数据管理和分析中的作用,以及如何构建智能决策的桥梁。
|
2月前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
383 3
|
2月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
155 1
|
4月前
|
弹性计算 Ubuntu Linux
【阿里云】阿里云ECS云服务器幻兽帕鲁游戏优化及存档导出导入(Ubuntu)
【阿里云】阿里云ECS云服务器幻兽帕鲁游戏优化及存档导出导入(Ubuntu)
1495 4
|
14天前
|
NoSQL 数据管理 MongoDB
数据管理DMS产品使用合集之如何通过阿里云的数据管理服务(DMS)导出MongoDB数据
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
2月前
|
弹性计算 关系型数据库 MySQL
阿里云MySQL云数据库优惠价格、购买和使用教程分享!
阿里云数据库使用流程包括购买和管理。首先,选购支持MySQL、SQL Server、PostgreSQL等的RDS实例,如选择2核2GB的MySQL,设定地域和可用区。购买后,等待实例创建。接着,创建数据库和账号,设置DB名称、字符集及账号权限。最后,通过DMS登录数据库,填写账号和密码。若ECS在同一地域和VPC内,可内网连接,记得将ECS IP加入白名单。
466 2
|
2月前
|
SQL 关系型数据库 MySQL
阿里云mysql数据库价格购买和使用教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,通过选择配置、地域和可用区完成购买。创建数据库和账号,分配权限。使用DMS登录数据库,进行管理操作。确保ECS与RDS在同一地域的VPC内,配置白名单实现内网连接。详细步骤见官方文档。
640 1
|
2月前
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
230 2
|
2月前
|
SQL Cloud Native 关系型数据库
AnalyticDB MySQL湖仓版是一个云原生数据仓库
【2月更文挑战第15天】AnalyticDB MySQL湖仓版是一个云原生数据仓库
26 2

推荐镜像

更多