文章实时采集(Tapdata重点阐述Tapdata在数据库实时同步方面的技术要点(组图))

优采云 发布时间: 2021-12-30 04:07

  文章实时采集(Tapdata重点阐述Tapdata在数据库实时同步方面的技术要点(组图))

  Tapdata是深圳市钛数据*敏*感*词*开发的实时数据处理与服务平台产品,企业可以使用Tapdata快速搭建数据中心和实时数据仓库。Tapdata提供一站式解决方案,包括实时数据采集、数据融合和数据发布等功能和能力。

  Tapdata 专注于实时数据处理技术。在数据库迁移和同步方面,Tapdata的性能非常好,实时性、多样性、异构性,尤其是关系型数据库和非关系型数据库的双向同步,无论是操作上,效率上,均体现了行业领先水平。

  本文重点介绍Tapdata在实时数据库同步方面的技术要点。

  基于数据库日志的实时迁移或同步

  在数据库同步场景下,Tapdata支持批量和增量数据迁移同步。Tapdata专注于实时场景,是数据库增量同步的关键能力。目前Tapdata支持的数据源基本支持增量同步。大多数场景下,Tapdata通过解析数据库日志获取源数据库的增删改查操作,然后将这些操作转化为标准的数据库事件推送到内部处理队列中。

  

  数据同步流程 那么,Tapdata是如何进行数据同步的呢?

  第一层数据同步是基于CDC机制的,也就是说它不使用Select语句定期扫描最近有什么类型的数据,或者全量取,而是基于数据库,比如对于Oracle,就是Redo log。对于 SQL Server,就是它的 CDC 机制。MongoDB 有它的 Oplog,而 MySQL 使用它的 Binlog。为了监控这些日志日志,Tapdata 中的每一条数据都有一个日志解析器。取出后,当*敏*感*词*到变化时,会转换成update语句或者insret语句或者delete语句。在目标库中,Tapdata 还创建了 FDM,即基础层和主数据层。把它写入目标库,然后这样,就相当于在目标平台上建立了一个逻辑镜像,可以与源库保持高度同步。这种CDC事件的延迟一般在几百毫秒,往往在1到2秒内,我们就可以将数据同步到目标平台,所以同步延迟很短,亚秒级的概率很高。

  下面是每个数据库采集

增量数据的方式

  启动同步任务时,用户可以使用以下模式之一:

  基于流水线的流数据处理模式

  Tapdata 底层使用基于 Hazelcast Jet 的 DAG 流处理引擎。引擎支持基于DAG(有向无环图)的任务链流计算能力。用户可以通过Pipeline API构建任务链处理流程,包括数据源读取、数据处理、过滤、聚合,最后输出到目标sink。管道将被系统转换为Core DAG,并在流数据处理引擎中执行。如下所示:

  

  这些 DAG 中的计算节点都是基于记录(原创

流)而不是基于批处理的。每次有新记录(在源端产生R1)),都会立即被数据库采集

节点处理,然后交给DAG的下一个节点。通过结合JSDK,用户可以根据DAG的规则构建一个非常复杂的数据库处理环节,交给系统的流数据引擎完成数据处理。

  流处理引擎的计算框架采用协程机制。与传统线程不同,DFS 不会为每个数据处理任务启动一个单独的线程(线程资源有限),而是使用类似于 Coroutines 的方法。处理任务的执行由Java端启动和停止。要做。底层线程会继续执行,不断将控制权交给框架管理程序,协调不同任务之间的计算工作。由于避免了昂贵的线程上下文切换,协程在很多情况下可以显着提高处理速度。

  Tapdata 流数据处理引擎支持以下 Transformation 能力(算子):

  在实时流数据统计方面,tapdata可以支持以下与时间窗口相关的功能:

  NoSQL 支持

  大多数常见的 ETL 工具都是针对关系型数据库的,例如 Oracle 和 MySQL。Tapdata在提供关系型数据库支持的基础上,还提供了完整的NoSQL支持,如MongoDB、Elastic Search、Redis等。目前企业的数据同步需求很大一部分是从关系型数据库的实时同步到分布式NoSQL,用于解决关系型数据库的查询性能瓶颈和业务创新。

  Tapdata 的研发团队在处理 NoSQL 方面有着天然的优势,这与团队成员大部分来自 MongoDB 原厂和社区代码贡献者有关。

  NoSQL数据库的特点是文档结构往往基于JSON,一个文档收录

一对多和多对一的关系。同步时,需要从多个表按照对应关系写入目标JSON,并且还需要在源表子表更新时同步目标JSON子文档的更新,如下图数字。

  

  Tapdata 支持以下高级 JSON 同步功能:

  数据验证、增量验证

  数据验证是任何数据同步或迁移工具的必要功能。完善的验证能力可以让用户有足够的信心使用数据同步工具。

  Tapdata 的验证数据类型包括:

  Tapdata验证通过Merge Sort实现,可以快速完成大数据表的迁移和同步验证。测试表明,对于5000万行的表,只需不到2分钟即可完成一次完整的校准。验证结果的分析包括一致率、错误数据比较等。

  

  此外,Tapdata 支持独创的增量验证功能。用户为指定的数据同步任务启动增量验证功能后,Tapdata会将需要验证的表的CDC事件分别记录到缓冲区中,并启动后台线程,根据用户指定的验证策略,缓冲区 新添加的用于分析的 CDC 事件。解析时会根据源表的DDL得到主键信息,然后查询目标表和源表的数据进行比较。

  容错机制

  Tapdata 提供了部署的高可用机制和数据写入的幂等操作,以确保任务可以继续运行,数据在错误状态下可以最终保持一致。

  每个数据处理任务在运行时,会频繁地向管理终端报告健康状态(每5秒一次)。如果管理端在一分钟内没有收到报告,则认为处理节点离线。这时候,另一个幸存的节点会在没有心跳的情况下检查这个任务并接管它。

  每个数据处理任务在运行时都会频繁记录当前的处理流程位置。当任务重新启动时,它会自动从该位置重新启动。

  为了实现上述容错机制,Tapdata要求源端和目标端满足以下条件:

  带性能参数

  

  Tapdata是企业级商业产品。实时数据同步和迁移只是部分功能。如果您想了解更多关于产品的信息,您可以访问官方网站并提交测试应用程序以获得运行演示。

  官网地址:

  此外,Tapdata还推出了异构数据实时同步的云服务。登录云服务平台仅需简单三步,即可实现数据实时同步。更令人兴奋的是,这个功能是免费使用的。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线