本文简单介绍数据同步服务的整个系统架构及基本实现原理。
系统架构
数据同步服务的逻辑架构图:
全量同步:负责将表数据从源端数据库同步到目的端数据库,支持异构数据库间同步。
增量同步:负责将源端的增量数据同步到目的端,主要包含 Store 和 JDBCWriter 两个组件。
存储:采集源端 DB 的变更到本地存储,支持 MySQL、Oracel、OceanBase 等多种数据库的变更采集;不同的源数据库类型有不同的存储系统。
目标端 Writer 插件:根据存储中的变更数据,将变更在目的端数据库进行重放,实现增量同步功能。
全量校验:对源、目的端对应表数据进行数据一致性的全量校验。
增量校验:对源、目的端增量数据进行一致性校验。
管理控制台:负责数据同步任务的创建、状态查看、管理以及容灾等功能。
元信息数据库:所有同步任务的状态使用自身的元信息数据库保存。
数据订阅 Client SDK 与 JDBCWriter 的职责和组件关系类似,被数据订阅者依赖用于订阅数据。
数据同步任务流程
包含全量同步的数据同步场景下,任务的实际流程如下图所示:
T1 时刻创建存储,开始抓取 T1-1 分钟时间的增量数据;
存储创建完成并检查存储处理于正常同步中之后,T2 时刻创建全量 DumpWriter,并开始同步 T2 时刻的全量数据;
在 T3 时刻完成了全量同步,这时 T2 到 T3 时间段的增量数据是在存储中;
T4 时间创建增量 Writer,并从 T1 时刻开始拉取增量数据。T1 小于 T2,因此数据不会漏掉,存储的数据从 T1-1 分钟的位点开始拉取,做一定冗余。
反馈
- 本页导读 (0)
文档反馈