Tapdata 技术博客
Tapdata 技术博客

关系型数据库到MongoDB实时数据同步解决方案

2020-03-10 10:00

关系型数据库 – MongoDB 异构同步


场景:主机下行

新型应用往往具有大量读操作和高并发的特征, 传统主机架构性能扩展不易,成本太高且开发困难。

直接更换核心系统更加困难。

采用CQRS 模式,数据同步到分布式数据库,并在上面开发新型应用。


场景:数据库现代化

关系型数据库基于单机架构,不容易横向扩展,难以支撑现代应用所需要的海量数据。

物联网,新一代CRM等系统需要灵活的数据模型来支撑非结构化和半结构化。


Tapdata 解决方案

  • 使用MongoDB作为主机下行或新一代数据库的选择,将业务数据从已有主机或Oracle等关系型数据库复制到MongoDB;

  • 使用Tapdata Replicator的CDC技术,实时监听现有业务库的数据变动并同步至MongoDB;

  • 使用Tapdata 的RDM技术将关系型表合并转型到MongoDB JSON数据结构,并保持和源库的高度数据一致;

  • 在MongoDB上进行新业务的开发。


技术挑战


异构数据库模型匹配

关系模型基于范式,文档模型基于对象,很多ETL工具不能很好支持MongoDB。


实时同步能力

批量迁移数据较为简单,但是实时同步涉及到数据库底层逻辑,一般开发者处理较为困难


关键应用需要企业级可靠性

- 如何提供迁移的高可用?

- 如何保证数据的一致性?

- 如何处理宕机后的场景?


Tapdata 提供的价值


实时异构数据库同步

低延迟从Sybase复制数据到MongoDB

复制延迟 < 500ms


自动模型转换

自动实现关系型结构到JSON文档结构的转换

支持1-1, N-1,1-N,N-N等数据关系


企业级功能与支持

GUI驱动,无须代码

支持高可用部署,无须担心同步中断

数据校验,故障告警等机制保障线上可靠运行


客户案例:某政府医疗机构数据库现代化


现状

  • 该机构管理数十家公立医院及数百个诊所并统一负责这些医院和诊所的数十套IT系统的开发及运营维护;

  • CMS, EPR等系统由于病人数据的持续增长,已经有明显的性能问题影响体验;

  • 目前的高可用及Dr架构不能满足业务需求,无法做到跨中心高可用;

  • 已有架构管理复杂,创新困难,无法支撑面向市民的移动APP等新型场景。


新模式

  1. 构建私有云体系,并提供基于PaaS的开发测试发布平台;

  2. 使用Docker, Spring, Microservice等技术满足新型开发,快速上线的需求;

  3. 使用新一代数据库解决数据跨中心自动容灾,海量非结构化文件(如Xray,PDF等),及高并发读写的需求场景;

  4. 在逐渐向新 IT 模式过渡的过程中,保证已有系统的平稳运行。


双模式并行架构


hospital-arch.png


推荐阅读