当前位置 : 主页 > 编程语言 > 其它开发 >

华为云MRS CDL架构设计与实现

来源:互联网 收集:自由互联 发布时间:2022-05-30
1 前言 MRS CDL是华为云FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键

1 前言

MRS CDL是华为云FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键技术。

2 CDL的概念

MRS CDL(Change Data Loader)是一款基于Kafka Connect的CDC数据同步服务,可以从多种OLTP数据源捕获数据,如Oracle、MySQL、PostgreSQL等,然后传输给目标存储,该目标存储可以大数据存储如HDFS,OBS,也可以是实时数据湖Hudi等。

2.1 什么是CDC?

CDC(Change Data Capture)是一种通过监测数据变更(新增、修改、删除等)而对变更的数据进行进一步处理的一种设计模式,通常应用在数据仓库以及和数据库密切相关的一些应用上,比如数据同步、备份、审计、ETL等。

CDC技术的诞生已经有些年头了,二十多年前,CDC技术就已经用来捕获应用数据的变更。CDC技术能够及时有效的将消息同步到对应的数仓中,并且几乎对当前的生产应用不产生影响。如今,大数据应用越来越普遍,CDC这项古老的技术重新焕发了生机,对接大数据场景已经是CDC技术的新使命。

当前业界已经有许多成熟的CDC to大数据的产品,如:Oracle GoldenGate(for Kafka)、 Ali/Canal、Linkedin/Databus、Debezium/Debezium等等。

2.2 CDL支持的场景

MRS CDL吸收了以上成熟产品的成功经验,采用Oracle LogMinner和开源的Debezium来进行CDC事件的捕捉,借助Kafka和Kafka Connect的高并发,高吞吐量,高可靠框架进行任务的部署。

现有的CDC产品在对接大数据场景时,基本都会选择将数据同步到消息队列Kafka中。MRS CDL在此基础上进一步提供了数据直接入湖的能力,可以直接对接MRS HDFS和Huawei OBS以及MRS Hudi、ClickHouse等,解决数据的最后一公里问题。

场景 数据源 目标存储 实时数据湖分析 Oracle Huawei OBS, MRS HDFS, MRS Hudi, MRS ClickHouse, MRS Hive 实时数据湖分析 MySQL Huawei OBS, MRS HDFS, MRS Hudi, MRS ClickHouse, MRS Hive 实时数据湖分析 PostgreSQL Huawei OBS, MRS HDFS, MRS Hudi, MRS ClickHouse, MRS Hive

表1 MRS CDL支持的场景

3 CDL的架构

作为一个CDC系统,能够从源目标抽取数据并且传输到目标存储中去是基本能力,在此基础上,灵活、高性能、高可靠、可扩展、可重入、安全是MRS CDL着重考虑的方向,因此,CDL的核心设计原则如下:

  • 系统结构必须满足可扩展性原则,支持在不损害现有系统功能的前提下添加新的源和目标数据存储。
  • 架构设计应当满足不同角色间的业务侧重点分离
  • 在合理的情况下减少复杂性和依赖性,最大限度的降低架构、安全性、韧性方面的风险。
  • 需要满足插件式的客户需求,提供通用的插件能力,使得系统灵活、易用、可配置。
  • 业务安全,避免横向越权和信息泄露。

3.1 架构图/角色介绍


图1 CDL架构

MRS CDL包含CDL Service和CDL Connector两个角色,他们各自的职能如下:

  • CDL Service:负责任务的管理和调度,提供统一的API接口,同时监测整个CDL服务的健康状态。
  • CDL Connector:本质上是Kafka Connect的Worker进程,负责真实Task的运行,在Kafka Connect高可靠、高可用、可扩展的特性基础上增加了心跳机制来协助CDL Service完成集群的健康监测。

3.2 为什么选择Kafka?

我们将Apache Kafka与Flume和Nifi等各种其他选项进行了比较,如下表所示:

|Flume|Nifi|Kafka
:--

上一篇:【Vulnhub靶场】NOOB: 1
下一篇:没有了
网友评论