DataWorks数据集成同步至Hologres能力介绍

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本文由DataWorks PD王喆分享,介绍DataWorks数据集成同步至Hologres的能力。DataWorks提供低成本、高效率的全场景数据同步方案,支持离线与实时同步。通过Serverless资源组,实现灵活付费与动态扩缩容,提升隔离性和安全性。文章还详细演示了MySQL和ClickHouse整库同步至Hologres的过程。

作者:DataWorks PD 王喆

摘要:本次分享的主题是DataWorks数据集成同步至Hologres能力,由计算平台的产品经理喆别(王喆)分享。介绍DataWorks将多个数据源的数据集成并同步到Hologres的能力。DataWorks数据集成是一个稳定高效、弹性伸缩的数据同步平台,致力于提供在复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动及同步能力,提供低成本、高效率、全场景覆盖的数据同步方案。当我们面向数据库级别,向Hologres进行同步时,能够实现简单且快速的同步设置。目前仅需配置一个任务,就能迅速地将一个数据库实例内的所有库表一并传输到Hologres中。

  1. DataWorks数据集成--低成本、高效率、全场景数据同步方案
  2. Serverless资源组核心优势
  3. DEMO演示

01. DataWorks数据集成--低成本、高效率、全场景数据同步方案

DataWorks数据同步方案提供了整库周期离线与全增量实时两种数据同步方式。

对于离线同步支持整库级别的、带有周期性的同步操作。采用离线方式将数据同步到Hologres时,系统能够自动在Hologres上创建相应的数据库和表。此外,还支持在表级别设置调度周期,或者为表设置增量同步条件。每个表级别的同步任务,在DataWorks中都可以作为调度依赖的上游任务,被其他开发任务所依赖。这意味着,当某个表的同步任务完成后,其下游的开发任务也会被自动触发。整体来看,这个方案适用的场景包括业务库的上云迁移、系统迁移以及灾备恢复等,这些都是离线同步的典型应用场景。

对于实时整库同步这一功能,我们的方案是先将历史数据全量同步到Hologres中。随后,系统会自动启动实时同步流程,将源端数据发生的任何更改实时地同步到Hologres里,确保Hologres中的数据与源端数据保持实时对齐。在同步方面,同样能在Hologres上自动进行建库建表操作,并自动创建全量同步任务,随后自动启动实时的增量同步任务。此外,在实时与离线同步模式之间切换时,系统会自动进行数据融合,无需担心离线与实时数据之间是否存在遗漏或重叠问题。另外也支持对云端DML和DDL操作的控制,包括建表、建列以及插入、更新、删除等动作,是否需要进行特殊控制等,这些都可以在同步任务中进行配置。

整体来看,DataWorks数据集成非常适用于数据仓库的持续集成以及实时的业务智能分析等场景,您可以将数据实时地写入Hologres中。目前DataWorks数据集成已经上线了名为“Serverless资源组”的新功能。现在,所有同步到Hologres的任务都支持使用这一新的Serverless资源组。

02. Serverless资源组核心优势

Serverless 资源组的核心优势在于,它能够让我们以低成本、高效率的方式完成整个同步过程。首先,这一资源组具有通用性优势,涵盖了原有的多种类型资源组的核心功能,通过一个资源组即可完成数据同步、任务调度运行、调用及管理API服务等操作。极大提升了使用体验。

此外,该资源组的付费形式相当灵活。目前提供按量付费和包年包月两种付费模式,同时也提供多种规格的资源组抵扣包来抵扣按量费用,您可以根据自身的业务需求进行选择。如果选择包年包月资源将被预留,无需担心资源抢占问题,而且相较于按小时计费,其单价更为优惠。而按量付费的优势在于可以在业务高峰期灵活使用资源,在非高峰期则完全释放资源,从而降低费用支出。

Severless资源组支持在任务运行期间进行动态扩缩容,而任务运行不会因此受到影响。同时,无论您选择按量付费还是包年包月,Serverless资源组均属于独享资源组,确保了高度的隔离性和安全性。并且使用的网络也是用户自己的网络,即DataWorks不再为用户代持VPC或其他网关,而是完全采用用户自有的网络环境,这一举措进一步提升了安全性和隔离性。

在按量付费模式下,可以根据实际使用情况购买资源,有效避免了无效资源的浪费。而我们的最小购买单位是1 CU ,并且支持设置扩缩容的定时计划。例如,如果您的业务高峰期在每天的凌晨时段,而过了凌晨三四点后业务量减少,可以设置一个定时计划,确保在凌晨至三点期间资源充足,而在三点之后降低资源配置。这样一来,既可以最大限度地降低成本,又能确保业务的平稳运行。

上表列出了Serverless资源组的具体付费形式及一些相关限制。目前提供按量付费和包年包月两种付费模式,其中按量付费属于后付费模式,同时允许用户将后付费模式转换为预付费模式。也就是说,如果您目前使用的是按量付费,并且感觉业务已经相对稳定,想要以更优惠的价格使用资源,您可以随时将付费模式切换为包年包月。在进行这种转换时,无需更改任务或资源组配置,并且转换过程对所有任务均不会产生影响。资源组上的变化仅限于付费形式的转换。

接下来说明一下按量付费和包年包月在使用场景上的适用性。按量付费模式非常适合那些具有周期性的任务,任务有高峰期也有低谷期,甚至在低谷期完全不需要资源。这种情况下,按量付费是一个很好的选择。而包年包月模式则更适合那些需要提前锁定资源,确保实时任务或持续在线任务稳定运行的情况。通过为这些在线任务预留资源,可以保证它们的稳定执行。因此在这种情况下,选择包年包月的资源更为合适。

在计费方式方面,按量付费是根据使用的 CU 时长及其单价,每小时进行结算的。而包年包月则是根据您使用的 CU 数量及购买的月数进行预付费。但无论选择哪种资源组,数据调度的计费都是按量计算的,而这个量具体是按次数的阶梯计价,即数据调度没有包年包月的计费形式,完全实现了 Serverless 化,即使用多少次就支付多少费用。当然这一点仅限于数据调度。至于数据集成服务,我们依然提供按量付费和包年包月两种计费形式。

另外,关于按量付费可以设置资源使用的上限。设置资源上限的目的是为了防止资源无限制地分配,确保企业用户能够控制预算,从而避免费用超出预期。例如,您可以设定同时最多只能使用 100CU ,一旦超过这个数值,其他任务就需要等待资源释放。这样一来,当所有任务都在运行时,就可以避免总资源量突然激增到 1000 或 2000CU ,从而及时控制成本。因为按量付费是按照小时进行结算的,所以设置资源上限也能有效防止整体费用超出预算。这是按量付费的一个重要特性。

对于包年包月付费模式,可以为每种业务用途设置保障额度。这意味着,即便购买了一个包含 100CU 的资源组,也可以为数据集成等特定业务分配固定的资源保障,例如确保数据集成在启动任务时至少有10CU的资源可用。这 10CU 资源会从您的 100CU 资源组中划出,专门用于保障数据集成任务的执行。通过这种方式,您可以根据业务需求灵活控制每种任务类型所使用的资源,确保业务能够更平稳地运行。在调度并发上限方面,两种付费模式均不受影响,即每个资源组上最多只能同时执行200个调度并发任务。

在网络配置方面,按量付费和包年包月也存在差异。对于按量付费的资源组,数据集计算和数据集成所能绑定的 VPC 数量有限,具体而言,只能绑定两个VPC ,而数据服务则只能绑定一个 VPC 。相比之下,在包年包月的付费模式下,如果 CU 数量大于10,用户可以总共绑定八个VPC;若 CU 数量小于或等于10,则总共可以绑定四个 VPC 。但无论哪种资源组或付费形式,数据服务均仅支持绑定一个 VPC 。这是数据服务本身的能力限制。对于数据集计算和数据集成而言,在包年包月的付费模式下,随着 CU 数量的增加,所能绑定的VPC数量也会相应增多。

这里列出了我们在执行数据集成同步任务时,每种任务所需的最低规格。例如,对于单表的离线任务,我们至少需要 0.5CU 。具体来说,我们以一个离线任务为例,其每小时的费用仅为 0.25 元。而对于实时任务,运行一个实时任务所需的最小 CU 是 1CU ,其小时单价为 0.5 元。至于整库同步任务,无论是实时还是离线,我们都可以使用 2CU 来启动一个任务。其价格折算下来,相当于每小时 1 元。

有一点需要特别说明,在选择单表同步与整库同步任务时,顾名思义整库同步任务支持整个数据库实例的同步,而单表任务仅支持单表的同步。因此,当需要同步整个数据库的数据时,建议尽量创建整库同步任务,而不是将每个表单独拆出来创建单独的任务,除非有特定的业务需求,比如需要实现数据的隔离性等。这样做除了操作的便捷以外,从价格角度来看,如果有100个表需要同步,并且每个表都单独创建实时同步任务,那么将消耗100CU。然而,如果这100个表都属于同一个数据库,那么将它们放在一个整库同步任务中,总共只需要2CU,资源消耗的差距是巨大的,产生的费用也有很大差别。因此,这一点需要特别注意,如果数据量是一个完整的数据库,那么建议直接创建整库同步任务,而不是将其拆分成多个单独的任务。

03. DEMO演示

3.1 Mysql整库实时同步Hologres

接下来来看一个MySQL整库实时同步到Hologres的场景。这是我们数据集成的一个页面。现在,我们要创建一个MySQL整库实时同步到Hologres的任务。首先,选择源端为MySQL ,然后选择目标端为Hologres ,接着就可以开始建立任务了。在建立任务时,我们选择任务类型为整库实时,然后指定数据源为MySQL的数据源,接下来,我们指定目标端为Hologres ,并直接进入下一步。在下一步中,我们需要勾选要同步的所有库和表。我将它们全部勾选后,可以直接滚动到底部,然后选择我要同步到的目标位置。

接下来,如果我希望将所有选中的表都同步到Hologres中的同一张表里,我可以在这里进行表名映射的设置。我会制定一个映射规则,手动输入一个目标表名,强制将所有数据都写入到同一个表中。例如,我在这里输入“test_table”,作为所有数据的目标表。确认后,应用这个规则,可以看到所有的目标表名都已经按照我设定的规则进行了更改,都变成了“test_table”。由于这是一个新的表,它还没有被建立。此时,如果没有其他特殊配置需求,我的整个同步任务就已经设置完成了。

点击“完成配置”后,返回到任务列表页面。系统会对任务进行基本的校验,以确保其合法性。在任务列表中,可以看到我刚才创建的任务。直接点击“启动”,这个同步任务就开始运行了。之后,可以点击任务查看详情,前面我们提到的任务分为三个阶段:首先是结构迁移阶段,即建表阶段;接着是全量数据同步阶段;最后是实时同步阶段。

3.2 ClickHouse整库离线迁移Hologres

接下来将为大家介绍ClickHouse整库离线同步到Hologres的过程。与之前的整库实时同步不同,这次我们将关注整库离线同步。同样地,我先创建一个ClickHouse整库离线同步到Hologres的任务。在任务设置中,我选择ClickHouse作为源端,Hologres作为目标端。然后,点击创建任务,并选择同步类型为整库离线。接下来,选择一个ClickHouse的数据源,这个数据源是我们之前提到的按量付费的资源组中的一部分,并为其分配一定的计算资源,比如2CU。之后,选择Hologres作为目标端数据源,并检查网络连接,确保网络通畅后,就可以开始配置任务了。

与之前的操作类似,需要选择ClickHouse中的所有表,并将它们直接同步到目标端。在这次同步中,只需要使用离线映射功能,所有的表都会自动映射到Hologres中的对应目标表。这些目标表会由系统自动创建,无需手动操作。完成这些设置后,点击“完成配置”即可。

在任务列表中,可以看到刚刚创建的 ClickHouse 同步到Hologres的任务了。此时,点击“启动”来开始这个任务。接下来可以监控这个任务的运行状态。由于这是离线同步任务,所以它只包含两个阶段:首先是结构迁移,即建表阶段;接着是全量数据同步阶段。

此外还为大家准备了Data数据集成的体验流程。大家可以通过扫描这个二维码,了解如何使用实时同步功能将RDS的数据源同步到Hologres中,并利用DataV构建大屏展示的整体流程。为了回馈新用户,我们特别提供了Hologres的试用优惠:新用户可免费试用5000CU时及100G的存储空间。这是Hologres为新用户提供的专属优惠。

13个专题6万字详解,Hologres一体化实时湖仓实践手册发布

Hologres 3.0 全新升级为一体化实时湖仓平台,通过统一数据平台实现湖仓存储一体、多模式计算一体、分析服务一体、Data+Al 一体,实现一份数据、一份计算、一份服务,极大提高数据开发及应用效率。立即下载>>https://developer.aliyun.com/ebook/8436电子书亮点:

ꔷ 结合Deepseek+PAI 构建RAG检索增强系统

ꔷ 结合Flink、Paimon、MaxCompute等构建一体化实时湖仓平台

Serverless系列功能快速入门,降价46%并保障资源隔离与稳定

ꔷ Dynamic Table、运维诊断优化、流量分析函数等3.0最新功能实践

image.png

目录
打赏
0
0
0
0
480
分享
相关文章
Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践
Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践
DataWorks数据集成同步至Hologres能力介绍
本次分享的主题是DataWorks数据集成同步至Hologres能力,由计算平台的产品经理喆别(王喆)分享。介绍DataWorks将数据集成并同步到Hologres的能力。DataWorks数据集成是一款低成本、高效率、全场景覆盖的产品。当我们面向数据库级别,向Hologres进行同步时,能够实现简单且快速的同步设置。目前仅需配置一个任务,就能迅速地将一个数据库实例内的所有库表一并传输到Hologres中。
84 12
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
124 0
|
8月前
|
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
367 6
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
561 4
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
531 1
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka Streams的集成

相关产品

  • 实时数仓 Hologres