松耦合架构
GBase RTSync 采用多组件松耦合的架构,将控制流与业务流分离,将同步过程中增量数据捕获和数据投递功能分别赋予数据捕获组件和数据投递组件,从而实现模块职责单一化的目标,可以具备以下优势:
- 单一职责,可实现分布式部署;
- 性能更加优化;
- 可实现与第三方同步系统集成。
实时同步
GBase RTSync 的数据捕获组件从源数据库实时获取事务逻辑日志,完成解析与格式化,并以消息中间件为中介提供给数据投递组件,最终由数据投递组件实时将数据写入目标数据库。
数据一致性
采用消息中间件作为同步数据的缓冲,在数据捕获组件和数据投递组件具备断点续传能力的前提下,充分利用 OLTP 数据库的事务特性确保了同步到目标数据库的数据与源数据库保持一致。
高可用性
GBase RTSync 可工作在高可用部署方式下。当部署为高可用方式时,可根据实际应用场景同时启动多个 RTSync 服务,但同时只有一个 RTSync 服务提供服务;当该服务不可用时,可由其他 RTSync 服务在短时间内自动接管,保证源端与目标端之间的数据同步基本不中断,接管过程无人工干预。同时,结合灵活的断点续传机制,保证源端与目标端的数据一致性。
精准同步
支持不同粒度的数据同步,如库级、表级、列级的增量数据同步,从而可以精准的完成不同业务场景下业务功能所需数据的同步,即实现定制化数据同步,可以仅同步业务需要使用到的数据,提升数据同步的精准性和效率。
灵活配置
首先,数据捕获组件支持配置多个数据源,以及可以配置不同类型的数据源,实现多个数据源向目标数据库实时同步数据,特别适用于多个 OLTP 数据库向 OLAP 数据库汇集数据的业务场景;其次,支持多个目标数据库,从而通过配置多源到多目标的方式,实现实例级同步;最后,还可通过配置将同库下多表拆分同步到目标库对应表的方式,实现表的并行同步。
可集成
消息中间件采用当前比较流行的 kafka 或者 Rabbit MQ,消息传输协议采用标准的数据交换格式,且不依赖于开发语言,方便与第三方同步系统集成。
轻量级
RTSync 可单独部署,占用较少生产系统资源,且消息传输协议采用二进制数据传输格式,效率较高,有效利用网络带宽。
高可扩展
可扩展支持多种源端数据库类型。
支持基于 SQL-92 标准的明文 SQL 消息格式,可快速添加支持的目标数据库类型。
可快速实现对其他消息队列的支持。