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

相关文章

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

SpringBoot如何集成Kaptcha验证码

《SpringBoot如何集成Kaptcha验证码》本文介绍了如何在Java开发中使用Kaptcha生成验证码的功能,包括在pom.xml中配置依赖、在系统公共配置类中添加配置、在控制器中添加生成验证... 目录SpringBoot集成Kaptcha验证码简介实现步骤1. 在 pom.XML 配置文件中2.

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用