我们计划从 mysql 迁移到 mongoDB。我想知道是否有工具或任何其他资源可以帮助我制定迁移计划。例如(带有公司的表,应先移动,然后是用户详细信息等),以便顺利迁移。
问问题
649 次
2 回答
1
您不能简单地将 MySQL 模式迁移到 MongoDB(或任何其他文档数据库存储)。存储数据的方式完全不同。请记住,没有连接,您很可能需要对数据进行非规范化,并将某些数据嵌入到其他文档中。这不是可以自动化的东西。
这里的数据库根本不同。您需要从应用程序端查看如何读取和写入数据,在哪里进行连接,如何最好地构建新模式以与MongoDB 一起使用,而不是仅仅将其用作 RDBM。搜索“MongoDB 架构设计”以大致了解您需要考虑的事项。
于 2012-11-13T18:28:07.083 回答
0
首先,您必须了解您的表和查询之间的关系。
根据外键关系对表进行分组。也许有些团体只有一张桌子。您可以先迁移这些。因为那很容易。例如:日志、访客人数。
然后一组2张桌子。
- 如果关系是
1:1
,您可以简单地将它们合并到一个表中并进行迁移。 - 如果
1:n
,您可以将n
边嵌入到1
边中。但是是否合并(嵌入)应该根据您的查询。例如:如果两个有1:1
关系的表永远不会被一起读取,你可以直接迁移到 MongoDB 而不合并。 - 虽然
n:m
可以用 MongoDB 实现,但您必须自己管理大量冗余数据或处理join
。但如果你真的很想这样做,那也没关系。但是性能可能是个问题。
- 如果关系是
如果组中的表数> = 3,我认为您应该在大多数情况下将它们保存在 MySQL 中。但仍有一些例外。我最近处理了3个有
1:1
和1:n
关系的表,我只是将它们合并并嵌入到一个表中,这很容易,性能也更好。
于 2012-11-13T21:11:51.043 回答