摘要:MRS CDL旨在实现最大的数据复制吞吐量和低复制延迟。

本文分享自华为云社区《使用MRS CDL实现实时数据同步的极致性能》,作者:大数据修行者 。

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会持续在吞吐量和时延方向上持续发力,为实时数据湖的数据时效性和质量保驾护航!

点击关注,第一时间了解华为云新鲜技术~

使用MRS CDL实现实时数据同步的极致性能相关推荐

  1. ubuntun系统mysql数据库同步_Canal 实现 Mysql数据库实时数据同步

    简介 1.1 canal介绍 ​ Canal是一个基于MySQL二进制日志的高性能数据同步系统.Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增 ...

  2. ​inotify+rsync实时数据同步实践讲解17

    inotify+rsync实时数据同步实践讲解17说明:本文来自来自北京老男孩linux运维实战培训中心-运维就业课程免费视频内容,本文内容为系列内容,更多分享信息见:http://oldboy.bl ...

  3. 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案

    简介:Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的 ...

  4. Canal 实现 Mysql数据库实时数据同步

    简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系统.Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增量数 ...

  5. 基于debezium实时数据同步(Oracle为主)

    基于debezium实时数据同步 全部需要下载的内容链接 1.下载zookeeper-3.4.10 2.下载kafka_2.13-2.8.0 3.下载Kafka Connector:建议使用1.6以上 ...

  6. 数仓实时数据同步 debezium

    数仓实时数据同步 debezium 背景 debezium 简介 架构 基本概念 例子 Router 目前遇到的问题 背景 数据湖将源库的数据同步到hive数仓ods层,或直接在kafka中用于后面计 ...

  7. MySQL 到 MongoDB 实时数据同步实操分享

    MySQL数据怎么实时同步到 MongoDB 实践分享系列 摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同 ...

  8. cdc工具 postgresql_基于 Flink SQL CDC 的实时数据同步方案

    作者:伍翀 (云邪) 整理:陈政羽(Flink 社区志愿者) Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink P ...

  9. Oracle到MySQL实时数据同步CloudCanal实战

    简述 CloudCanal 2.1.0.x 版本开始支持 Oracle 作为源端的数据迁移同步能力,目前邀请测试中. 本文通过 Oracle 到 MySQL 的数据迁移同步案例简要介绍这个源端的能力. ...

最新文章

  1. php rss xml,php – 如何使用simplexml解析RSS中的标记
  2. abstract class和interface有什么区别?
  3. 利用xcode6做出牛的一逼的计算器
  4. c语言二维数组赋值前面是行还是列,动态二维数组分配有问题啊 为什么行和列相同才能给数组赋值...
  5. Java设计模式12:装饰器模式
  6. Windows 8 页面应用测试(2)
  7. 计算机科学型计算器,全能科学型计算器app
  8. Word文档,英文字母间隔非常大,解决方法
  9. CTF_ctfshow_meng新_web1-web24
  10. 5.3.2 Counter对象
  11. Python数据可视化:平凡的世界
  12. 测试网站速度的8款免费工具推荐
  13. HTML 动态夜空特效
  14. python爬取知乎热搜_python爬取知乎
  15. nvidia所有版本显卡驱动下载地址
  16. Kubernetes网络插件flannel和calico
  17. 关于TI公司DSP工程调用DELAY_US()进入非法中断问题的解决
  18. springboot多数据源使用
  19. 1exe1.net - 1个exe文件搞定1切
  20. 第八届省赛——D.引水工程)

热门文章

  1. netflix 开源_手工3D打印机,Netflix上的开源等
  2. linux 开源谷歌浏览器_开发人员浏览器,Google开源版本等
  3. SLAM Cartographer(7)地图构建器
  4. 用c语言开发图形界面,「分享」C语言如何编写图形界面
  5. php 返回object,深入分析使用mysql_fetch_object()以对象的形式返回查询结果
  6. python导入excel模块_Excel到python第一章python利用pandas和numpy模块导入数据
  7. macOS Big Sur 11当前存在的一些问题(更新中)
  8. jquery load 事件用法
  9. 牛客 - 17968 - xor序列 - 线性基
  10. SnapKit 约束创建过程