关于程序员:使用MRS-CDL实现实时数据同步的极致性能

8次阅读

共计 1374 个字符,预计需要花费 4 分钟才能阅读完成。

MRS CDL 提供从多个 RDBMS 捕捉 CDC 事件并复制到大数据生态系统的机制,以实现实时数据湖剖析和实时 DWH 场景。解决性能问题是数据复制解决方案解决低提早、高吞吐量应用情景的要害要求之一。实时数据复制性能通常应用以下两个属性来掂量

  • 吞吐量:在一个工夫窗口中能够解决多少 GB 的事务日志卷、行或事务?
  • 时延–将更改的数据从源零碎复制到指标零碎所需的工夫

MRS CDL 旨在实现最大的数据复制吞吐量和低复制提早。MRS CDL 提供以下多种竞争个性,以实现最佳性能:

过滤数据

MRS CDL 提供配置白名单和黑名单模式的机制,以过滤数据复制的表。白名单是与要复制的表的齐全限定表标识符匹配的正则表达式列表;白名单中不包含的任何表都将从复制中排除。同样,黑名单是一个逗号分隔的正则表达式列表,它与要从复制中排除的表的齐全限定表标识符匹配;将复制黑名单中不包含的任何表。此性能有助于仅从数据库事务日志中复制所需的数据,以进步整体吞吐量和效率。

工作并行化

MRS CDL 为并行性和可扩大数据复制提供内置反对,只需很少的配置。它提供了将 MRS CDL 单个作业合成为许多配置数量的工作的机制。应用多个工作,MRS CDL 提供了并行从多个数据库中获取 CDC 更改的机制。例如,如果架构中有 30 个表,则能够配置 30 个工作,这些工作将并行从每个表接管 CDC 数据,从而进步吞吐量。

在工作级别应用执行器多线程进行并行化

除了反对多个工作并行化之外,MRS CDL 还反对工作内的并行化。它在工作中应用日志复制按程序从 RDBMS 捕捉 CDC 事件。然而,一旦咱们捕捉 CDC 事件,咱们就会将其推送到外部内存队列,并应用执行器线程池并行处理,如下所示。这些线程将从外部队列中提取事件,解决它并推送到 Kafka,从而进步性能。

分区表反对

RDBMS 的分区性能通过容许您将十分大的表合成为分区,解决了反对这些表的关键问题。像 Oracle 这样的 RDBMS 反对各种分区机制,如范畴分区、哈希分区、列表分区和复合分区。MRS CDL 提供了应用多任务处理大型分区表的机制。这有助于咱们应用日志复制技术并行捕捉分区表的 CDC 事件,并推动并行拆散 kafka topic partition,如下所示,从而进步吞吐量。

与 Schema Registry 集成

MRS CDL 与各种 Schema Registry 解决方案集成,该解决方案为元数据提供了服务层,并为存储和检索架构提供了 RESTful 接口。Schema Registry 依据指定的主题名称策略存储所有架构的版本历史记录,提供多个兼容性设置,并容许依据配置的兼容性设置进化架构,并扩大对这些架构类型的反对。它提供了插入 Apache Kafka 客户端的序列化器,这些序列化器解决以任何反对格局发送的 Kafka 音讯的模式存储和检索。

应用集成的 Schema Registry,MRS CDL 不会在每个音讯中都公布 schema 到 Apache Kafka,从而缩小音讯大小,这进步了从 Apache Kafka 公布和应用 CDC 音讯所波及的性能。咱们进一步利用 Avro 格局与 Schema Registry 来进步性能。Avro 是一个开源数据序列化零碎,速度十分快,它有助于在零碎、编程语言和解决框架之间进行数据交换。

在将来,MRS CDL 会继续在吞吐量和时延方向上继续发力,为实时数据湖的数据时效性和品质保驾护航!

本文由华为云公布

正文完
 0