MongoDB 到 Cosmos DB 的迁移规划
在回顾 Cosmos DB 的好处之后,你的 CIO 让你继续进行概念证明。 该项目的第一个阶段是规划数据迁移。 其中包括设置一个空的 Cosmos DB 来托管已迁移的数据。
在本单元中,你将逐步完成创建 Cosmos DB 数据库的步骤,并选择脱机或联机迁移方法。
检查 MongoDB 的兼容性
迁移之前的首要任务是验证是否从受支持的 MongoDB 版本进行迁移。 可以在以下站点上验证最新版本的支持:
适用于 MongoDB 的 Azure Cosmos DB 的 API:受支持的功能和语法
要开始在 Azure 中使用 Cosmos DB,请使用 MongoDB API 创建 Cosmos DB 帐户。 然后,在该帐户中创建一个数据库。 可以将数据库工作负载分离到不同的数据库中,此方法的好处是可以设置吞吐量的粒度。
通过使用 Azure 虚拟网络 (VNet) 来控制对数据的访问。 将 VNET 网络安全组配置为打开端口 53、443、445、9354 和 10000-20000。 显然,还需要配置本地防火墙,以允许通过这些端口访问本地 MongoDB 服务器。
通常,迁移涉及大量数据传输,你可以在迁移过程中临时增加吞吐量。 如果指定数据库级别的吞吐量,则应考虑每个集合至少需要 100 RU/秒。因此,数据库的最小 RU/秒是集合数乘以 100。 对于迁移方案,数据库级别的吞吐量通常似乎比集合级别的吞吐量更合适,但应考虑到在创建后不能修改此设置,因此,应针对迁移后的数据库预期用途选择最合适的设置。
脱机迁移和联机迁移
在脱机迁移过程中,停止与数据库的连接,执行迁移,然后建立与迁移后的新数据库的连接。 导入它是为了防止在迁移期间进行连接,因为这些事务都将丢失。
联机迁移会将迁移过程中发生的所有事务应用于迁移后的新数据库。 不会丢失任何事务。
脱机迁移速度更快,但联机迁移的停机时间较短。 当直接迁移到新数据库时,脱机迁移的停机时间自迁移开始时开始,而联机迁移的停机时间在迁移结束时开始。 应在实时系统的副本上运行测试脱机迁移,以调查停机时间是否可接受。 当活动通常较少时,可以运行迁移。 如果脱机迁移的停机时间不可接受,请选择联机迁移。
有关联机迁移的详细信息,请参阅将 MongoDB 联机迁移到 Azure Cosmos DB Mongo API
有关脱机迁移的详细信息,请参阅将 MongoDB 脱机迁移到 Azure Cosmos DB Mongo API