【发布时间】:2012-09-12 04:31:55
【问题描述】:
我们正在将一些数据从 MySQL 迁移到 Mongo,并一直在为我们的一些数据库表添加额外的字段,以获取迁移数据对象的 ObjectId 值。
目前我们将它们存储为 varchar(24) latin1_general_ci ,它工作正常。
但是,为了有效的存储/索引,我们可能应该转换回 12 字节的二进制值。不幸的是,MySQL 似乎只有native integer support up to 8 bytes。还有另一种选择 - 也许是二进制?
更新:我正在从 MySQL 迁移,但目前只迁移某些表。所以我首先在某个表的 Mongo 中复制对象。然后我回到 MySQL 中剩下的任何其他表,这些表具有对旧 MySQL 表 ID 的外键引用,并添加一个新的引用字段来存储 Mongo 对象的 ID。然后,我将删除原始参考字段 BIGINT。
更新 2: 我提出这个问题的原因是,我们可能需要再过 12 个月(或永远不会)才能移动这些其他数据,因此它会对实时 Web 应用程序的性能产生影响在那之前。
【问题讨论】:
-
您是从 MySQL还是迁移到它?
-
感谢分享,我也是这样做的,在 MS Sql Server 2012、MongoDb、...中使用相同的密钥结构(ObejctId)...
标签: mysql mongodb migration bson