无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方案

本文主要是介绍无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在去年的 MongoDB 用户大会纽约站上,MongoDB 正式宣布全面推出新工具 MongoDB Relational Migrator(MongoDB RM),用以简化应用程序迁移和转换——即从传统关系型数据模型到现代的文档数据模型,助力组织快速提升运营效率,充分发挥数据价值。
在这里插入图片描述
今年年初,同样密切关注数据价值深层挖掘的 Tapdata,针对这一工具,新增支持导入 MongoDB relmig 文件生成任务的能力,用户可以将在 MongoDB RM 上设计好的数据流转流程导出后,直接导入 Tapdata 数据管道,进一步提升数据管道设计便利性。

眼下,生成式 AI 和大语言模型(LLM)等新风口正在掀起又一波创新浪潮,为基于软件和数据的业务运营优化、终端用户体验提升开启了新的可能性。各类型和规模的企业都希望利用这些新技术实现业务转型。然而,很多企业仍然在使用传统的关系型数据库作为应用程序后端。这类传统数据库往往适应性不足,难以为现代化应用程序提供支持;并且当应用程序的需求发生变化时,数据之间的映射关系也变得复杂。此外,传统数据库的诞生早于云计算技术,在扩展性方面表现不佳,往往要耗费大量资金。受此影响,企业很难去采用新技术、快速适应不断变化的市场,这在某种程度上也限制了企业实现现代化升级的能力。

因此,越来越多的企业开始考虑面向现代化数据库的数据迁移。其中,MongoDB (Atlas) 便是一个广受青睐的选择 。灵活的文档模型和横向扩展功能,为新兴技术的应用提供肥沃的土壤,帮助企业在重塑业务运营的同时,提升终端用户体验。这时,如何实现低成本、低风险、低耗时的数据迁移,就成了企业需要考虑的新问题。而这也正是 MongoDB Relational Migrator 真正的“用武之地”。

什么是 MongoDB Relational Migrator?

将遗留应用程序从关系数据库迁移到 MongoDB 可能是一项艰巨的任务,迁移过程充斥着高风险、高成本和高耗时,甚至有时让人无从下手。

MongoDB Relational Migrator 可以对传统数据库进行分析,自动生成新数据模型和代码,并在不停机的情况下无缝迁移至 MongoDB (Atlas)。客户只需将 MongoDB Relational Migrator 连接到现有的应用程序数据库(如 Oracle、Microsoft SQL Server、MySQL 和 PostgreSQL 等)进行评估,即可快速上手。有了这个工具,各行业的企业都可以轻松快速、经济高效、近乎无风险地从传统数据库迁移至 MongoDB。

分析应用程序数据后,MongoDB RM 会建议一个新的数据模型,将数据转换和迁移至 MongoDB (Atlas),并通过运行连续同步作业实现零停机迁移;生成的优化代码,还可在新的现代化应用程序中处理数据。从而得以在测试环境中运行现代化应用程序,确保其在部署到生产环境之前能够按预期运行。有了 MongoDB RM,任何类型与规模的组织在进行应用程序迁移与现代化时,都无需承受迁移过程中的技术阻碍与繁琐工作,可以更好地构建下一代高度参与的任务关键型应用程序,轻松拥抱未来科技。

鉴于 MongoDB 作为文档型数据库独特的无模式属性,RM 充分考虑到了关系型数据库向 MongoDB 迁移过程中的模式设计难点,支持自动映射和嵌入式文档/数组,拥有代码生成能力,以及完整的模型构建功能。这也使得 RM 顺利成为企业在选择关系型数据库到 MongoDB 数据迁移工具时的完美选择。然而,除却类似的“一次性”数据库迁移需求,面对企业内部持续扩展的新业务,在原有业务系统的基础上,持续消费各业务系统数据,故而需要实现持续数据同步的业务场景也非常常见,例如:

  • 数据分析:构建现代化、基于分析的应用程序。许多交易数据存储在其他系统中,我们如何将它们集成到 MongoDB 并加以分析。
  • 单一视图:用以实时查看所有最重要的数据。这也是 MongoDB 的经典用例之一,像是同步企业来自 SaaS CRM 的数据,构建客户单一视图,理解并跟进客户需求。
  • 传统现代化:更新传统应用程序组合,应用最新的开发方法。像是将数据从 Oracle 迁移至 MongoDB 来构建新的应用程序,但很多时候企业会仍然想要保留旧系统运行,这就需要在不影响原有业务系统的前提下,保持面向新系统的数据同步。
  • 数据即服务:将企业数据作为资产而不是障碍物。基于既有数据资源开发新的应用程序并生成关键业务见解。现代化数据平台需要实时收集并同步来自各运营系统的数据,同时保障数据完整性。
  • ……

MongoDB RM + Tapdata = ?

作为 Tapdata 第一批支持的 Connector,MongoDB 的更新动态也一直是是 Tapdata 持续关注的对象。在面对【关系型数据库→ MongoDB】的数据同步任务中,Tapdata 与 MongoDB RM 各具优势且能力互补,其中:

  • **Tapdata:**优势在于连续数据同步,在包括电信和金融在内的 60 多家企业客户中得到验证。专注于数据
  • **MongoDB:**关系型迁移工具的模式映射、设计、Atlas 流处理。专注于模式

因此,MongoDB RM + Tapdata = 更适合 MongoDB 用户的持续数据同步解决方案,支持增量同步,兼具实时性优势。

基于这一考量,为了保障 MongoDB 用户在使用 Tapdata 过程中的体验,我们针对 MongoDB RM 的上线进行了自身优化——利用数据复制/转换任务支持的导入能力,用户可以在 MongoDB RM 上设计好数据流转流程并将其导出,随后在 Tapdata 数据管道右上角直接导入,更加便捷的数据管道设计使用户无需手动重复操作,节省时间和精力。

与此同时,借助 Tapdata 的可视化界面与监控反馈能力,用户可以更方便地对流向 MongoDB 的数据迁移任务进行统一管理和监控,随时监测任务进度和状态,并且及时获得任何可能出现的问题或错误的通知,助力迁移过程的顺利进行。

如何选择
在这里插入图片描述
如上图所示,当新项目无需持续复制时,仅需借助 RM 进行模式自动映射并完成迁移工作。而作为 MongoDB RM 的功能延展,Tapdata 全量+增量的实时数据同步同步能力将在需要实现持续复制的场景中发挥其应有的“功效”。

版本指路:
点击登录 Tapdata Cloud
申请试用 Tapdata 本地部署版

如何集成 MongoDB Relational Migrator 和 Tapdata?

以 MySQL 是数据源为例,下面是如何利用 Tapdata 这一功能的操作教程,我们将从如何从 MongoDB Relational Migrator 导出项目文件开始,进行 Step-by-Step 的详细介绍:

*提示:如果想要参照教程上手体验,欢迎通过文末方式联系我们

  1. 在 MongoDB Relational Migrator 上新建一个项目

在这里插入图片描述
2. 配置要连接的数据库
在这里插入图片描述
3. 根据需要选择要使用的数据库,这里我们选择使用 MySQL
在这里插入图片描述
4. 配置好 MySQL 的连接信息,测试连接通过后直接点击 connect 连接。
5. 选择要使用的表,这里我们使用 car_claim,car_policy,car_customer 三张表,以 car_claim 为主表来构建一张出险记录详细信息的款表
6. 选择 Start with an empty MongoDB schema
在这里插入图片描述
7. 设置项目名称,点击 Done
在这里插入图片描述
8. 配置表之间的关联关系,生成一个宽表
9. 配置完成后,点击 export,导出项目文件
在这里插入图片描述
在这里插入图片描述
10. 找到导出生成的 relmig 文件在这里插入图片描述
11. 访问 Tapdata Cloud
12. 因为目前导出 relmig 文件时,暂时还无法获取到对应连接的相关配置信息,所以在向 Tapdata 导入 relmig 任务时,需要先创建要使用的源和目标连接
13. 先创建要使用的 MySQL 连接在这里插入图片描述
14. 配置要使用的 MongoDB 连接在这里插入图片描述
15. 源和目标连接配置完成后,点击 Data Transformation 菜单,点击列表右上方的 Import 按钮
在这里插入图片描述16. 选择我们刚才从 MongoDB Relational Migrator 里导出的 relmig 文件
在这里插入图片描述
在这里插入图片描述
17. Source Database 选择刚创建的 MySQL,Target Database 选择刚创建的 MongoDB
18. 点击 OK 完成导入,可以看到导入成功,任务出现在任务列表
在这里插入图片描述
19. 点击启动可以直接启动已导入的任务,启动后任务变成运行中
在这里插入图片描述
20. 点击监控,可以看到任务的配置 DAG 信息和运行指标信息。
21. 通过该导入能力,可以将 MongoDB Relational Migrator 的项目快速导入到 Tapdata 系统
22. 启动并运行任务,待任务全量同步完成后,查看目标 MongoDB,可以看到数据已经按照在 RM 里定义的数据结构同步到目标 Mongo 表中。
在这里插入图片描述
联系我们

发送邮件或加入 Tapdata Slack,即可丝滑体验该功能:

  • 邮箱:team@tapdata.io
  • Slack:点击加入

关于 Tapdata

Tapdata Inc.「深圳钛铂数据有限公司」,成立于2019年9月,核心员工来自 MongoDB、Oracle、百度、阿里、腾讯等,研发人员占比超90%,至今已获五源资本等多家头部风投数千万美元融资。已服务周生生、中国移动、中国联通、南方电网、中国一汽、富邦银行、罗辑思维等数十家行业标杆企业。Tapdata 坚持“开放+开源”战略,推出 Tapdata Cloud,将无代码数据实时同步的能力以 SaaS 的形式免费开放,目前已积累 12,000+ 注册用户,覆盖电商、金融、制造等多个行业。此外,Tapdata 社区版也已发布,正在面向开发者逐步共享其核心功能。

Tapdata 是一个以低延迟数据移动为核心优势构建的现代数据平台,支持将企业核心数据实时集中到中央化数据平台,并通过 API 或反向同步方式, 为下游的交互式应用、微服务或交互式分析提供新鲜实时的数据。典型用例包括数据库到数据库的复制、将数据引入数据仓库或数据湖,以及通用 ETL 处理。

产品优势:

  • 开箱即用与低代码可视化操作
  • 内置 100+ 数据连接器,稳定的实时采集和传输能力
  • 秒级响应的数据实时计算能力
  • 稳定易用的数据实时服务能力

【相关阅读】

  • Tapdata Connector 实用指南:云原生数仓场景之数据实时同步到 Databend
  • Tapdata Connector 实用指南:如何将 CRM 数据从 Salesforce 实时同步到 MongoDB 等其他库
  • Tapdata Connector 实用指南:实时数仓场景之数据实时同步至 ClickHouse
  • Tapdata Connector 实用指南:数据入仓场景之数据实时同步到 BigQuery

这篇关于无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/805863

相关文章

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML