利用离线方案实现从 MongoDB 到 Amazon DocumentDB 的迁移
Amazon DocumentDB文档中介绍三种从MongoDB向Amazon DocumentDB迁移的主要方法,分别为:离线、在线与混合。
离线迁移方法在其中拥有快的速度与低的操作门槛,但同时也会带来长的停机时间。离线迁移适合匹配概念验证、开发与测试类工作负载,以及那些对停机时间不太敏感的生产级工作负载。作为DocumentDB迁移三篇系列文章中的篇,我们将在本文中尝试使用离线方法将数据从Amazon EC2上的MongoDB副本集迁移至Amazon DocumentDB集群。
离线迁移概述
下图所示,为从MongoDB到Amazon DocumentDB的整个离线迁移流程。
整个迁移方案包含五个基本步骤:
- 停止应用程序向源MongoDB部署的写入操作。
- 使用mongodump工具将索引与数据转储至EC2实例。
- (可选)使用Amazon DocumentDB索引工具将索引还原至Amazon DocumentDB集群。
- 使用mongorestore工具将数据还原至Amazon DocumentDB集群。
- 变更应用程序中的连接字符串,将其指向新的Amazon DocumentDB集群。
迁移前的准备工作
要执行离线迁移,我们需要以下三个组件:
- 一套部署完成的源MongoDB
- 一个用于数据导出与导入的EC2实例
- 一个目标Amazon DocumentDB集群
在迁移至Amazon DocumentDB集群之前,我们首先要叫停应用程序对源MongoDB部署的写入操作。只有这样,我们才能保证在迁移至Amazon DocumentDB集群期间,源内的数据不再发生变化。源MongoDB部署为部署在Amazon EC2上的副本集。为了尽可能降低工作负载迁移对这一副本集的影响,这里我们从辅助实例处导出数据。
如果您的MongoDB源使用的MongoDB版本低于3.6,则应首先升级源部署及应用驱动程序。只有将版本升级至MongoDB 3.6或更高,才能实现面向Amazon DocumentDB的正常迁移。
您可以在mongo shell当中输入以下代码以确定源部署的当前版本:
rs0:PRIMARY> db.version()
3.6.9
相关文章