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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/453593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Seata源码流程图

1.第一阶段分支事务的注册 流程图地址:https://www.processon.com/view/link/6108de4be401fd6714ba761d 2.第一阶段开启全局事务 流程图地址:https://www.processon.com/view/link/6108de13e0b34d3e35b8e4ef 3.第二阶段全局事务的提交 流程图地址…

考研失败, 学点Java打小工——Day2

1 关键字 标识符 基本数据类型 感觉和C没啥区别  1.1 关键字    public、static、void…  1.2 标识符    ①不能用关键字    ②由字母、数字、下划线、$组成,但是不能以数字开头    ③给变量起名字的时候要起有意义的名字:“见名知意” 1.…

常青内容与病毒式内容——哪个更适合 SEO?

常青内容是经得起时间考验的内容,而病毒式内容则是利用特定时代潮流的内容。 如果你曾经考虑过为网站添加内容,你可能听说过常青内容和病毒式内容这两个词。这两个词涵盖了网站所需的基本内容类型。 那么,这两者之间有什么区别?…

综合实验---Web环境搭建

题目: 服务器IP地址规划:client:12.0.0.12/24,网关服务器:ens36:12.0.0.1/24、ens33:192.168.10.1/24,Web1:192.168.10.10/24,Web2:192.168.10.20/24&#xf…

【网络安全】漏洞挖掘入门教程(非常详细)

温馨提示: 初学者最好不要上手就去搞漏洞挖掘,因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫,而且难度较大…… 较合理的途径应该从漏洞利用入手,不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料,分…

(学习日记)2024.03.09:UCOSIII第十一节:就绪列表

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

mqtt mosquitto 资料

MQTT 3.1.1 协议中文版 | MQTT中文网mqtt中文网http://mqtt.p2hp.com/mqtt311MQTT Version 3.1.1http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718009 mqttclient: 一个基于socket API之上的跨平台MQTT客户端,拥有非常简洁的API接口…

CVE-2023-38836 BoidCMSv.2.0.0 后台文件上传漏洞

漏洞简介 BoidCMS是一个免费的开源平面文件 CMS,用于构建简单的网站和博客,使用 PHP 开发并使用 JSON 作为数据库。它的安装无需配置或安装任何关系数据库(如 MySQL)。您只需要一个支持PHP 的Web服务器。在 BoidCMS v.2.0.0 中存…

水库泄洪监测预警系统解决方案

一、方案概述 近年来由于危险河道管理措施不到位,调峰水库泄水风险长期存在,信息通报制度缺失以及民众安全警觉性不高等因素导致的水库泄洪时冲走下游河道游客以及人民财产的事故频发。水库安全度汛是全国各地防汛抗洪的重中之重,而水库泄洪监…

【PyTorch][chapter 22][李宏毅深度学习]【无监督学习][ WGAN]【理论二】

前言: 本篇主要参考《Wasserstein GAN and the Kantorovich-Rubinstein Duality》 重点介绍一下 WGAN 的损失函数 是如何通过 Wasserstein Distance 变换过来的。 分为5步: 我们首先建立Wasserstein Distance 极小值形式, 经过对…

Linly-Talker智能数字人实时对话系统如何部署体验

环境: Linly-Talker 问题描述: Linly-Talker智能数字人实时对话系统如何部署体验 Linly-Talker 是一个智能 AI 系统,它将大型语言模型 (LLMs) 与视觉模型相结合,创造出一种新颖的人机交互方式。它集成了…

【HTML】1px边框与1px分割线

对比图 箭头标注的是处理过的 1px分割线 使用transform的scaleY进行缩小 码 <div class"mini-heriz"></div><br><div style"border: solid 1px black; width: 300px;height: 1px;"></div> <style> .mini-heriz {wi…

Linux编程4.2 网络编程-协议

1、为什么要有协议&#xff1f; 计算机网络中实现通信必须有一些约定&#xff0c;如对速率、传输代码、代码结构、传输控制步骤和出错控制等约定&#xff0c;这些约定即被称为通信协议。在两个节点之间要成功地进得通信&#xff0c;两个节点之间必须约定使用共同的“语言”&am…

MySQL用法---MySQL Workbench创建数据库和表

1. 连接数据库 打开软件&#xff0c;点击左下角卡片&#xff0c;输入设置的数据库密码&#xff0c;勾选单选框 2. 了解主页面的组成部分 3. 创建数据库 先点击工具栏的创建按钮 再输入数据库名称 点击 Apply 创建 4. 创建数据表 展开数据库&#xff0c;在Tables上右键&…

如何在WordPress网站上设置多语言展示

在今天的全球化世界中&#xff0c;拥有多语言网站对于吸引更广泛的受众至关重要。前不就我们遇到Hostease的客户咨询我们的在线客服&#xff0c;他想要对他的wordpress网站支持多语言。我们提供给客户可以尝试以下的插件来支持多语言。 在本教程中&#xff0c;我们将逐步介绍如…

cpp qt 一个奇怪的bug

今天在用cpp qt的时候发现了一个奇怪的东西 这是我的源代码 #include "mywidget.h" #include <QPushButton>myWidget::myWidget(QWidget *parent): QWidget(parent) {QPushButton * btn1 new QPushButton;btn1->show();btn1->setParent(this);btn1-&g…

冥想与AI:打造定制的放松体验

如今&#xff0c;在浏览网页或社交网络时&#xff0c;您似乎很难对一条条心理健康信息无动于衷。遇到这种情况的可不只是您。当今不断变化的时代给人们平添压力&#xff0c;企业纷纷利用智能技术满足人们的减压需求&#xff0c;让人们的生活多一些平和从容。 冥想就是一种练习呼…

低代码开发能否降低程序员门槛?技能需求分析与优势评估揭秘!

一&#xff0e;什么是低代码开发平台 低代码开发平台和零代码开发平台是近几年时兴的一种新的程序开发方法。该模式的特征是可以使用用户界面、拖拽操作等方式快速构建应用软件软件&#xff0c;从而减少开发者的学习标准&#xff0c;使每个人都能变成开发者。 但它仍然是基于…

别再写传统简历了!AI简历5个超实用的功能,助你求职一臂之力(强烈建议收藏)

你们在制作简历时,是不是基本只关注两件事:简历模板,还有基本信息的填写。 当你再次坐下来更新你的简历时,可能会发现自己不自觉地选择了那个“看起来最好看的模板”,填写基本信息,却没有深入思考如何使简历更具吸引力。这其实是一个普遍现象:许多求职者仍停留在传统简历…

在使用qml的qmldir文件创建常用组件报错unknow component

解决方法&#xff1a;Qt Creator中的工具-->QML/JS-->重置代码模型 参考博文:QML自定义模块及qmldir的使用_同一资源文件目录下的qml模块使用-CSDN博客 不一样的地方是我给我的文件起了别名 以及我的qrc文件路径有前缀/qml 总体操作&#xff1a; 1.使用模块中的组件时…