用MongoDB关系型迁移器释放你的数据
没有什么比遥不可及的数据更令人沮丧了。想象一下,如果你想把CRM中的客户行为数据和传统产品的使用数据结合起来,在新的移动应用中触发定制的促销活动,但却无法在关系型数据库的表海中找到所需的数据。
正如MongoDB首席技术官Mark Porter在他的MongoDB World主题演讲中所解释的那样,能够发挥作用的数据可能被锁在 "你无法使用的地方"。波特依靠他自己在数据方面辛苦积累的经验,补充说,这些信息可能被困在 "有数百或数千张表的模式中,这些表已经建立了几十年"。
"模式是这个问题的一个巨大部分,"MongoDB产品经理Tom Hollander在2022年MongoDB世界大会上关于MongoDB Relational Migrator的演讲中解释。"所以我们花了很多时间来构建工具,使你能够将你的表格关系模式映射到文档模式中,并利用MongoDB文档模型的全部力量。"
什么是MongoDB Relational Migrator?
MongoDB Relational Migrator通过帮助开发者分析关系型数据库模式,将其转换为MongoDB模式,然后将数据从源数据库迁移到MongoDB,从而简化了从传统数据基础设施到MongoDB的迁移工作。目前,Relational Migrator与四个最常见的关系型数据库兼容。Oracle、SQL Server、MySQL和PostgreSQL。
Migrator不仅可以将数据从你的关系型数据库转移到MongoDB,而且还可以根据你的新模式对其进行转换。正如Hollander和MongoDB产品营销总监Eric Holzhauer所指出的,开发人员经常使用混合的软件和工具(例如,提取-转换-加载管道、变更数据捕获(CDC)、消息队列和流)来执行迁移,这可能是复杂的、有风险的和容易出错的。Relational Migrator提供了一个单一的工具,可以简化这个过程,同时确保你的数据以一种有组织、有逻辑的方式落地。
通过简化模式转换--任何关系型迁移中最复杂、最困难的部分之一--Relational Migrator授予开发人员和其他技术团队对其新MongoDB模式的更大程度的控制(并增加其可见性)。其结果是使数据更容易被分析和决策所利用。Porter解释说:"现在,我可以在我的程序中获得数据,而不需要通过翻译层"。
Migrator如何将关系模式映射到文档模式的可视化表示。
迁移模式:快照还是持续?
Migrator提供了两种数据传输模式:一次性快照或持续同步(将在今年晚些时候推出)。为了帮助决定你应该使用哪种模式,请考虑你是否可以转移到MongoDB并立即停用你以前的数据库,或者你是否需要保持你现有的关系型数据库正常运行。
组织机构可能出于各种原因希望保留他们的关系型数据库,比如测试你提议的文档模式的有效性,用完合同或许可协议以避免昂贵的费用,或者保留旧的数据库供审计使用。在这种情况下,你可以保持你的关系型数据库运行,这样Relational Migrator就会继续将数据从源头推送到你的新MongoDB集群。
Relational Migrator的局限性
正如Hollander指出的,Relational Migrator只是一个工具--一个旨在促进模式映射的工具,为有效的模式设计提供许多能力和选项。"Hollander说:"它不是一个能够立即使你的应用组合现代化的银弹。"它不会为你做一切事情。你仍然要做规划。"
此外,由于数据库模式即使对经验丰富的专家来说也是一个棘手的话题,Hollander建议开发者与架构师、顾问和合作伙伴一起工作,特别是如果他们不熟悉MongoDB或模式设计的最佳实践,将会从中受益。
Relational Migrator还不支持连续复制,这将使你的关系型数据库和MongoDB集群能够长期共存。然而,Hollander说,关于这个功能的工作正在进行,它将在未来提供,同时还有其他功能,如模式建议、MongoDB Atlas开发者数据平台的集成等等。