MongoDB 到 Cosmos DB 的迁移规划

已完成

在查看 Cosmos DB 的优势后,CIO 提供了运行概念证明的继续。 项目的第一个阶段是规划数据迁移。 这包括设置一个空 Cosmos DB 来托管迁移的数据。

在本单元中,你将逐步完成创建 Cosmos DB 数据库的步骤,并选择脱机或联机迁移方法。

检查 MongoDB 兼容性

迁移前的第一个任务是验证是否要从受支持的 MongoDB 版本迁移。 可以在以下站点验证最新版本支持:

Azure Cosmos DB 的用于 MongoDB 的 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