无缝集成 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

相关文章

springboot集成Lucene的详细指南

《springboot集成Lucene的详细指南》这篇文章主要为大家详细介绍了springboot集成Lucene的详细指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起... 目录添加依赖创建配置类创建实体类创建索引服务类创建搜索服务类创建控制器类使用示例以下是 Spring

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

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

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