阿里云 DataWorks 正式支持 SelectDB Apache Doris 数据源,实现 MySQL 整库实时同步

SelectDB 是由飞轮科技基于 Apache Doris 内核打造的现代化数据仓库,支持大规模实时数据上的极速查询分析。 通过实时、统一、弹性、开放的核心能力,能够为企业提供高性价比、简单易用、安全稳定、低成本的实时大数据分析支持。SelectDB 具备世界领先的实时分析能力,能够实现秒级的数据实时导入与同步,在宽表、复杂多表关联、高并发点查等不同场景下,提供超越一众国际知名的同类产品的优秀性能,多次登顶 ClickBench 全球数据库分析性能排行榜。

阿里云 DataWorks 是基于大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。 用户可通过 DataWorks 进行海量数据的离线加工分析,并能完成数据的汇聚集成、开发、生产调度与运维、离线与实时分析、数据质量治理与资产管理、安全审计、数据共享与服务、机器学习、应用搭建等工作。让数据从采集到展现、从分析到驱动应用得以解决,实现数据业务化、业务数据化。

近日,阿里云 DataWorks 正式支持 MySQL 整库实时同步至 SelectDB 或 Apache Doris

实时同步任务.png

详情参考:DataWorks 官方产品公告

当用户面临 MySQL 源库数据量大、查询分析速度慢的问题时,可以通过 DataWorks 将单表或整库同步至 SelectDB 或 Apache Doris,该方案便捷易用、成本低、数据同步延迟可达秒级,源库 MySQL 的数据变化(包括 DML、DDL 记录)都能实时同步。** 目前,DataWorks 对 SelectDB 和 Apache Doris 数据源的支持情况如下表所示,** 用户可通过 DataWorks 配置数据源,连接源库 MySQL 和目标库 SelectDB 或 Apache Doris ,利用 DataWorks 资源组实现 MySQL 单表或整库的全量和增量数据实时同步至 SelectDB 或 Apache Doris。

同步方式.png

本文将以 SelectDB Cloud 为例, 为您全面介绍同步流程与步骤,助您快速使用 DataWorks 将 MySQL 整库数据同步至 SelectDB (由于 SelectDB 基于 Apache Doris 内核打造,两者在使用以及同步任务配置上几乎无差异,因此您也可以参考此方法将数据同步至 Apache Doris),轻松实现事务数据的实时同步与分析。

准备环境

准备数据库

本文将以阿里云数据库 RDS MySQL 版实例作为源端数据库。若您尚未创建,请点击如何创建阿里云数据库 RDS MySQL 实例参考完成具体设置。

本文将以 SelectDB Cloud 数据仓库作为目标端数据库,若您尚未创建,请点击如何创建 SelectDB Cloud 数仓参考完成具体设置。

准备 DataWorks 工作空间

您需要准备阿里云 DataWorks 空间以完成后续步骤,若您尚未创建,请点击如何创建阿里云 DataWorks 工作空间参考完成具体设置。

准备资源组

在使用 DataWorks 前,您需要新建 Serverless 资源组,为 MySQL 整库实时同步至 SelectDB Cloud 提供计算资源以及周期调度资源。若您已创建 Serverless 资源组,或拥有独享数据集成资源组,即可跳过准备资源组环节。

  1. 登录 DataWorks 控制台,切换至目标地域后,单击左侧导航栏的资源组,进入资源组列表页面。

  2. 在资源组列表页面,单击左上角的新建资源组,新建 Serverless 通用型资源组,具体步骤请点击如何新建阿里云 DataWorks Serverless 资源组完成创建。

准备资源组.PNG

3.资源组创建完成后,您需要返回资源组列表页面,找到创建完毕的资源组,单击操作列内的绑定工作空间按钮,将新建的资源组与已有的 DataWorks 工作空间进行绑定

绑定工作空间.png

提醒 对于数据源存在白名单访问控制的情况,您需要将 Serverless 资源组绑定的交换机网段或者绑定 VPC 配置的 EIP 添加至其白名单中。

  • 通过内网访问:在 DataWorks 控制台的资源组列表页面独享资源组页签下,单击目标 Serverless 资源组操作列的网络设置,查看数据集成内容区的交换机网段并将其添加至数据源的白名单列表中。

  • 通过公网访问:Serverless 资源组绑定的 VPC 需要有 NAT 网关实例(如无则请新建,具体步骤详见 如何创建 NAT 网关实例),并且绑定弹性公网 IP(EIP),Serverless 资源组才能通过 NAT 网关访问公网。如果已完成配置,您需要在公网 NAT 网关控制台,找到配置好的 SNAT 条目,获取对应交换机绑定的公网 IP 地址(EIP)并将其添加至数据源的白名单列表中。

步骤一:新建数据源

新建 MySQL 数据源

1. 进数据源页面。

  1. 登录 DataWorks 控制台,切换至目标地域后,单击左侧导航栏的更多-管理中心,在下拉框中选择对应工作空间后单击进入管理中心

新建 MySQL 数据源.png

进入工作空间管理中心页面后,单击左侧导航栏的数据源 > 数据源列表,进入数据源页面。

新建 MySQL 数据源-2.png

2.单击左上角新增数据源按钮,在出现的新增数据源弹窗内寻找并单击 MySQL 数据库,进入创建 MySQL 数据源页面。

新建 MySQL 数据源-3.png

3.在创建 MySQL 数据源页面内,您可依据下表对 MySQL 数据源进行配置,未提及配置项保持默认即可。

新建 MySQL 数据源-4.png

说明: MySQL 数据源以阿里云上海地域当前账号下的 RDS MySQL 数据库为例,若您的 MySQL 为其他类型,可参考 阿里云 DataWorks 支持的 MySQL 数据源。

4.在您填写完 MySQL 数据源的配置项后,请于连接配置处,找到先前步骤中准备好的资源组,单击连接状态列-测试连通性,验证 Serverless 资源组与 MySQL 数据库之间的连通性。如果您在此过程中遇到任何问题,请根据连通性诊断工具报错信息解决处理。

新建 MySQL 数据源-5.png

5.连通性测试通过后,单击完成创建,创建 MySQL 数据源。

新建 SelectDB 数据源

  1. 进入 DataWorks 工作空间管理中心到数据源页面后,单击左上角新增数据源按钮,在出现的新增数据源弹窗内寻找并单击 SelectDB 数据库,进入创建 SelectDB 数据源页面。

新建 SelectDB 数据源-1.png

2.在创建 SelectDB 数据源页面内,您可依据下表对 SelectDB 数据源进行配置,未提及配置项保持默认即可。

新建 SelectDB 数据源-2.png

新建 SelectDB 数据源-3.png

说明: SelectDB 数据源以阿里云上海地域的 SelectDB Cloud 数仓为例,若您的 SelectDB 为其他类型,可参考 阿里云 DataWorks 支持的 SelectDB 数据源。

新建 SelectDB 数据源-4.png

提醒:

  1. 本文以公网连接 SelectDB Cloud 数仓为例,您需要将 Serverless 资源组绑定 VPC 配置的 EIP 添加至其白名单中。

  2. 在生产环境中,建议通过私网连接 SelectDB Cloud 数仓(具体步骤详见 如何私网连接 SelectDB Cloud 数仓)。您需要将 Serverless 资源组绑定的交换机网段 IP,添加到已绑定 VPC 内的安全组的访问控制列表中,以允许 Serverless 资源组访问终端节点,从而通过 PrivateLink 私网连接 SelectDB Cloud 数仓。

3.在您填写完 SelectDB 数据源配置项后,您可在连接配置处,找到先前步骤中准备好的资源组,单击连接状态列 > 测试连通性,验证 Serverless 资源组与 SelectDB 数据库之间的连通性。如果您在此过程中遇到任何问题,请根据连通性诊断工具报错信息解决处理。

新建 SelectDB 数据源-5.png

4.连通性测试通过后,单击完成创建,创建 SelectDB 数据源。

步骤二:创建同步任务

进入数据集成页面

登录 DataWorks 控制台,切换至目标地域,单击左侧导航栏的数据建模与开发 > 数据集成,在下拉框中选择对应工作空间后,单击进入数据集成页面。

进入数据集成页面-1.png

配置来源与去向数据源

  1. 单击数据集成页面左侧导航栏中同步任务,选择来源为 MySQL 数据源,选择去向为 SelectDB 数据源

配置来源与去向数据源.png

2.完成数据源选择后,单击开始创建,进入数据集成任务配置页面。

配置同步方式

  1. 在新建同步任务页面,您需要在基本配置与网络资源配置中分别配置以下内容:

配置同步方式.png

2.完成基本配置、网络与资源配置后,单击下一步进入下一阶段。

选择要同步的库表

源端库表内容区域勾选您想要同步的数据库和数据表,单击屏幕中央向右按钮(下图已标注),将数据库和表加载到已选库表内容区。

选择要同步的库表.png

目标表映射

  1. 编辑数据读取与写入关系。

完成同步库表选择后,将自动在此页面展示当前待同步的表,目标表的相关属性默认为待映射状态,需要您定义并确认源表与目标表映射关系,即数据的读取与写入关系,确认并单击刷新映射以继续后续步骤。您可选择直接刷新映射,或自定义目标表规则后,再进行刷新。

目标表映射.png

说明:

  1. 您可以选中待同步表后,单击批量刷新映射,未配置映射规则时,默认表名规则为${来源库名}_${源表名},若目标端不存在同名表时,将自动新建。

  2. 您可以自定义目标表名规则,在目标表名映射自定义列,单击编辑按钮。可以使用内置变量和手动输入的字符串拼接成为最终目标表名。例如,新建一个表名规则,将源表名增加后缀作为目标表名。

  3. 同步至 SelectDB 需要指定目标表的主键,默认会使用和源表一致的主键,需确保源表包含主键。目标表的主键是用于同步写入时做数据去重所使用,请根据自己的业务需求在建表时合理设置。

2.编辑字段类型映射。

同步任务存在默认源端字段类型与目标端字段类型映射,您可单击右上角编辑字段类型映射,自定义源端表与目标端表字段类型映射关系,配置完后单击应用并刷新映射

目标表映射-2.png

3.编辑目标表结构。

当目标 SelectDB 表为待建立状态时,您可以在原有表结构基础上为目标表新增字段。您可单击目标表名列的编辑图标以添加字段。

目标表映射-3.png

配置其他项

  1. 报警配置。

为避免任务出错导致业务数据同步延迟,您可以对实时同步子任务设置不同的报警策略。

  • 单击页面右上方的报警配置,进入实时同步子任务报警设置页面。

  • 单击新增报警,配置报警规则。

  • 管理报警规则。您可以根据报警级别将报警发送给不同的人员。

配置其他项.png

2.高级参数配置。

数据集成提供读端最大连接数写端缓冲区大小运行时任务并发度等配置的默认值。如果您需要对任务做精细化配置,达到自定义同步需求,您可对参数值进行修改,例如通过最大连接数上限限制,避免当前同步方案对数据库造成过大压力从而影响生产。

  • 单击界面右上方的高级参数配置,进入高级参数配置页面。

  • 高级参数配置页面基于业务需要与资源组、数据库实际情况配置读端源端最大连接数:通过该参数,您可以控制当前同步方案所能使用的源端数据库连接数,即同一时间内,当前同步解决方案任务读取数据库的并发数上限。

配置其他项-2.png

3.DDL 能力配置。

来源数据源会包含许多 DDL 操作,您可根据业务需求,在界面右上方单击 DDL 能力配置,进入 DDL 能力配置页面,对不同的 DDL 消息设置同步至目标端的处理策略。

配置其他项-3.png

4.资源组配置。

您可单击界面右上方的资源组配置,查看并切换当前的任务所使用的资源组。

配置其他项-4.png

完成以上配置后,单击完成配置,完成数据集成的同步任务配置。

步骤三:运维同步任务

启动同步任务

完成配置后,跳转至任务列表,您可单击对应任务的启动按钮,启动同步任务。

启动同步任务.png

查看同步任务运行状态

创建完成同步任务后,您可在同步任务页面,找到已创建的同步任务,单击任务名称执行概览,查看任务运行详情。任务运行详情分为以下五个部分:

  1. 基本信息:同步任务的数据源信息、绑定的资源组、同步方案等信息。

  2. 执行状态:分为结构迁移全量初始化以及实时数据同步三个状态,以下为执行状态的详细信息:

  • 结构迁移:包含目标表的创建方式(已有表或自动建表),如果是自动建表,将会为您展示建表的 DDL。

    查看同步任务运行状态-1.png

  • 全量初始化:包含对来源表与目标表数据的全量进度已写入数据条数全量启动时间全量完成时间展示。

    查看同步任务运行状态-2.png

  • 实时同步:包含实时同步的统计信息,包含实时集成进度DDL 记录DML 记录报警信息的展示。

    查看同步任务运行状态-3.png

源库表结构和数据:

查看同步任务运行状态-4.png

目标库表结构和数据:

查看同步任务运行状态-5.png

3.运行日志:数据同步采取了主从架构(master-worker 架构),其中包含 MasterWorker,一个同步解决方案任务对应一个 master 和一个或多个 worker,您可在对应日志中查看相关步骤详细信息。

  • Master:任务初始化、数据分片、worker 的协调。

  • Worker:具体数据分片的读写、转换。

4.Failover:包含了数据同任务中出现的 Failover 事件的详细时间与报错信息,您可查看同步任务在最近一次启动以来的异常恢复记录。

5.资源利用率:对数据集成任务占用的资源状况进行监控及查看,可根据实际使用率对资源占用做调整。

任务重跑

  • 直接重跑。

    在不修改任务配置的情况下,您可直接单击同步任务操作列更多 > 重跑,重新运行从结构迁移到启动实时同步的流程。

    • 结构迁移:使用已有表,不会再创建新表,因此没有建表的 DDL。

    任务重跑.png

    • 全量初始化:对源库表目前的全量数据进行一次性同步,可以发现已写入数据条数全量启动时间全量完成时间与第一次同步时不同。

    任务重跑-2.png

    • 实时同步:由于重跑任务后,源库表数据没有增量变化,因此实时同步没有数据。

    任务重跑-3.png

  • 修改后重跑。

    编辑任务,进行修改操作后,单击完成。此时任务的操作会变为应用更新,点击应用更新会直接触发修改后的任务重跑,实时同步任务会按照新的配置运行。

    任务重跑-4.png

    可选择重置位点的时间和时区:

    任务重跑-5.png

    • 结构迁移:修改后重跑任务时,使用的仍为已有表,不会创建新表,但会按修改后的任务添加了字段,所以有 ALTER TABLE 的 DDL。

    任务重跑-6.png

    • 全量初始化:由于选择了重置位点重跑,因此会将源库表的变更日志发送到目标库表重新执行,不需要进行全量数据同步。

    • 实时同步:由于选择了重置位点重跑,因此会将源库表的变更日志发送到目标库表重新执行。可以看到所设置位点时间后所有的 DML 都被执行了一遍。

    任务重跑-7.png

    由于任务的 DDL 能力配置 对修改列类型设置了“忽略”同步至目标端的处理策略,因此可以看到修改列类型的 DDL 被忽略了,并未同步至目标端。

    任务重跑-8.png

总结语

以上即为将 MySQL 整库实时同步至 SelectDB Cloud 的具体操作步骤。通过使用 Dataworks,您能够高效地将 MySQL 数据库同步至 SelectDB Enterprise、SelectDB Cloud、阿里云数据库 SelectDB 版与 Apache Doris 中,确保业务连续性不受影响。 同时,凭借 SelectDB 极速分析性能和灵活弹性优势,您能够加速决策过程,优化业务运营效率,推动业务持续稳健增长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/885012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OV(企业型)通配符域名SSL证书

SSL证书是由CA机构签发的,相信这一点大家都知道,然而目前全世界兼容性可以达到99%机构仅有:GlobalSign、DigiCert、Sectigo、Certum,最后一家还是勉强。 SSL证书选择OV(国内有人称之为企业型)其实就是实名…

软考系统分析师知识点三五: 考前强记知识点

前言 今年报考了11月份的软考高级:系统分析师。 考试时间:11月9日。 倒计时:2天。 目标:优先应试,其次学习,再次实践。 复习计划第四阶段:考前强记知识点。 考前强记知识点 系统分析主要任…

基础算法——排序算法(冒泡排序,选择排序,堆排序,插入排序,希尔排序,归并排序,快速排序,计数排序,桶排序,基数排序,Java排序)

1.概述 比较排序算法 算法最好最坏平均空间稳定思想注意事项冒泡O(n)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)Y比较最好情况需要额外判断选择O( n 2 n^2 n2)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)N比较交换次数一般少于冒泡堆O( n l o g n nlogn nlogn)O( n l o g n nlogn nlogn)O( n l…

探索 Python 视频编辑新纪元:MoviePy库的神秘面纱

文章目录 探索 Python 视频编辑新纪元:MoviePy 库的神秘面纱第一部分:背景介绍第二部分:MoviePy 是什么?第三部分:如何安装这个库?第四部分:简单的库函数使用方法第五部分:结合场景使…

计算机网络:网络层 —— 多播路由选择协议

文章目录 多播路由选择协议多播转发树构建多播转发树基于源树的多播路由选择建立广播转发树建立多播转发树 组共享树的多播路由选择基于核心的生成树的建立过程 因特网的多播路由选择协议 多播路由选择协议 仅使用 IGMP 并不能在因特网上进行IP多播。连接在局域网上的多播路由…

Jenkins插件使用问题总结

Git Push插件 插件介绍 主要是用于git推送代码到远程仓库中使用,插件地址 pipeline中使用 官方说明中只有一句代码gitPush(gitScm: scm, targetBranch: env.BRANCH_NAME, targetRepo: origin) 流水线语法中也做的不齐全所以一开始我老是设置错,导致代…

【命令操作】Linux三剑客之awk详解 _ 统信 _ 麒麟 _ 方德

原文链接:【命令操作】Linux三剑客之awk详解 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天带来一篇关于Linux三剑客之awk命令详解的文章。在文本处理工具中,awk以其强大的文本筛选、格式化和数据处理功能而闻名。它能够在处理结构化…

操作系统概念(一)——IOMMU学习

系列文章目录 提示:本系列主要记录工作过程中遇到的操作系统基础概念以及工作原理 第一章 操作系统之IOMMU 文章目录 系列文章目录1. 设备访问内存的几种主要方式1.1 传统的 I/O 访问(程序控制 I/O)1.2 直接内存访问(DMA&#xf…

计算机网络:网络层 —— IP 多播技术

文章目录 基本概念IP多播地址和多播组 IP多播的类型硬件多播将IPv4多播地址映射为多播MAC地址 基本概念 多播(Multicast,也称为组播)是一种实现“一对多”通信的技术,允许一台或多台主机(多播源)发送单一数…

windows运行ffmpeg的脚本报错:av_ts2str、av_ts2timestr、av_err2str => E0029 C4576

问题描述 我目前的环境是: 编辑器: Microsoft Visual Studio Community 2022 (64 位) 运行的脚本是ffmpeg自带的remux样例,只不过我想用c语言执行这个样例。在执行的过程中报错如下图: C4576 后跟初始值设定项列表的带圆括…

翻译工具开发技术笔记:《老挝语翻译通》app支持语音识别翻译功能,怎么提高语音识别的准确度呢?

《老挝语翻译通》app是一款专为老挝语翻译设计的免费工具,支持文本翻译、老挝文OCR文字识别提取、文字转语音。这款工具以其技术优势和用户友好的界面,为用户提供了便捷的老挝语翻译体验。 技术特点 文本翻译:支持双语输入,提供精…

Linux系统每日定时备份mysql数据

一、创建存储脚本的文件夹 创建文件夹,我的脚本放在/root/dbback/mysql mkdir ... cd /root/dbback/mysql 二、编写脚本 vi backup_mysql.sh 复制脚本内容 DB_USER"填写用户名" DB_PASSWORD"填写密码" DB_NAME"数据库名称" # …

MySQL基础-单表查询

语法 select [distinct] 列名1,列名2 as 别名... from数据表名 where组前筛选 group by分组字段 having组后筛选 order by排序的列 [asc | desc] limit 起始索引,数据条数 测试数据 # 建测试表 create table products (id int primary key a…

【Linux】Linux管道揭秘:匿名管道如何连接进程世界

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 🌈C专栏:C 文章目录 1.什么是管道 ?2. 管道的类型2.1 匿…

前端学习Day13 CSS盒子的定位(固定定位篇“附练习”)

一、固定定位 固定定位 (position:fixed)其实是绝对定位的子类别,一个设置了 position:fixed 的元素是相对于视窗固定的,就算页面文档发生了滚动,它也会一直待在相同的地方。 ⚠️:固定定位会脱离文档流。…

Linux云计算 |【第五阶段】CLOUD-DAY9

主要内容: Metrics资源利用率监控、存储卷管理(临时卷ConfitMap、EmptyDir、持久卷HostPath、NFS(PV/PVC)) 一、Metrics介绍 metrics是一个监控系统资源使用的插件,可以监控Node节点上的CPU、内存的使用率,或Pod对资…

BM25:最佳匹配 ,文本相关性评分算法

目录 BM25:最佳匹配 一、BM25算法原理 二、BM25算法的应用场景 三、BM25算法的举例说明 BM25:最佳匹配 BM25(Best Matching 25)是一种在信息检索领域中广泛使用的文本相关性评分算法。它基于概率模型,考虑了词频(Term Frequency,TF)、逆文档频率(Inverse Documen…

论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution

论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution 1 背景2 创新点3 方法4 模块4.1 以往SR模型的刚性4.2 图构建4.2.1 度灵活性4.2.2 像素节点灵活性4.2.3 空间灵活性 4.3 图聚合4.4 多尺度图聚合模块MGB4.5 图聚合层GAL 5 效果5.1 和SOTA…

【游戏引擎之路】登神长阶(十二)——DirectX11教程:If you‘re going through hell, keep going!

【游戏引擎之路】登神长阶(十二)——DirectX11教程:If youre going through hell, keep going! 2024年 5月20日-6月4日:攻克2D物理引擎。 2024年 6月4日-6月13日:攻克《3D数学基础》。 2024年 6月13日-6月20日&#x…

编写虚拟的GPIO控制器的驱动程序:和pinctrl的交互使用

往期内容 本专栏往期内容: Pinctrl子系统和其主要结构体引入Pinctrl子系统pinctrl_desc结构体进一步介绍Pinctrl子系统中client端设备树相关数据结构介绍和解析inctrl子系统中Pincontroller构造过程驱动分析:imx_pinctrl_soc_info结构体Pinctrl子系统中c…