解决方案实践 > MongoDB数据迁移最佳实践
MongoDB数据迁移最佳实践
  • 概览
  • 需求场景
  • 方案概述
  • 迁移前置条件
  • 迁移类型
  • 先期准备
  • 操作步骤
  • 1. 创建DTS迁移任务
  • 2. 配置DTS迁移任务
  • 3. 启动迁移
  • 相关产品

MongoDB数据迁移最佳实践

更新时间:

概览

本篇介绍采用百度智能云数据传输服务DTS(以下简称DTS)将云上MongoDB数据库副本集实例或者自建MongoDB数据库副本集实例的数据迁移到云上MongoDB数据库副本集实例中的最佳实践。

需求场景

用户将云上MongoDB数据库副本集实例或者自建的MongoDB数据库副本集实例的数据迁移到百度智能云MongoDB数据库副本集实例中。

方案概述

迁移前置条件

说明:

目前,DTS数据迁移服务暂只支持MongoDB副本集实例。针对分片集实例,可使用mongoshake工具完成数据迁移。

  • 已创建作为迁移源端的MongoDB数据库副本集实例,版本为3.4或3.6
  • 已创建作为迁移目标端的MongoDB数据库副本集实例,版本为3.4或3.6
  • 对于源端和目标端的数据库副本集实例,用户需要提供满足具有root角色的账号来进行数据迁移
  • 目前,MongoDB到MongoDB的迁移仅支持以实例级别为粒度进行迁移

迁移类型

  • 全量数据迁移:将源端数据库中的所有数据迁移到目标端数据库中,如果迁移过程中源端数据库有新增数据,且迁移类型只选择了全量迁移,则新增数据不会迁移到目标端数据库。

  • 增量同步迁移:将源端数据库迁移过程中新增的数据同步到目标端数据库中,主要用于源端数据库和目标端数据库的增量数据实时同步。

如果创建数据迁移任务时,同时选择了全量迁移增量同步,则迁移过程中会先将源端数据库中存量数据迁移到目标端数据库,然后将增量数据同步到目标端数据库。增量同步迁移不会自动结束,如果需要结束实时同步,您可以在管理控制台根据实际需求手动暂停或是结束该迁移任务。

先期准备

在百度智能云服务中创建云数据库 DocDB for MongoDB 副本集实例,用于数据库迁移的目标位置,创建过程参考创建副本集实例

操作步骤

1. 创建DTS迁移任务

在DTS管理控制台的左侧导航栏,单击数据传输任务标签,点击创建数据传输实例按钮

845d38babef88d26d926f3d0f598fd61.png

如果您的源端是云数据库 DocDB for MongoDB 实例,则源端位置选择百度智能云数据库,如果是公网/BBC/BCC/DCC自建MongoDB实例,则源端位置选择自建数据存储

如果您的目标端是云数据库 DocDB for MongoDB 实例,则目标端位置选择百度智能云数据库,如果是公网/BBC/BCC/DCC自建MongoDB实例,则目标端位置选择自建数据存储

跨地域或是同地域根据实际情况选择即可。

4c53e3c1a95277abf1b967eebc7dc550.png

然后点击下一步,完成购买配置。在DTS管理控制台数据传输任务列表页,列表页的最上方会新增一个未配置状态的DTS任务,就是您刚刚创建的迁移任务,点击配置任务即可进行任务配置。如果页面跳转后未发现列表页出现新任务,建议等待一段时间刷新页面。

7c6e9a23484d37e8d793b8116cdfe650.png

2. 配置DTS迁移任务

点击配置任务,进入任务连接配置页。以下以源端为自建数据存储,目标端为百度智能云数据库为例进行配置。

配置源端以自建数据存储为例,源端选择您对应的自建实例即可。在本例中,将接入类型选择云服务器BCC,数据类型选择MongoDB,填入对应的实例账号与密码,点击测试连通性按钮就能测试源端实例的连通性。

d18c08c0424e0d5b15bc0b27f8623586.png

配置目标端以百度智能云数据库为例,目标端数据类型会根据源端数据类型自动匹配。选择要迁入的云数据库DocDB for MongoDB实例,输入相应账号密码,点击测试连通性按钮,就能测试目标端的连通性。

ed2430eb4b990521104c8631b65a2e78.png

点击授权白名单进入下一步,可选择源端实例的迁移类型,全量迁移或是增量迁移或是两者均选择,您可以根据实际需求选择即可。目前,MongoDB到MongoDB的迁移仅支持以实例级别为粒度进行迁移。

953b9d570587e75209e214cfcb0e1e58.png

选择迁移类型后,可以点击保存并预检查按钮进行保存配置并进行预检查,或者点击保存按钮保存配置。

3. 启动迁移

DTS迁移任务配置保存后,可以在任务列表页启动预检查。若是保存配置任务时点击的保存并预检查按钮则无须再进行预检查。

cf78b9d9243a2da972c6a601b9fd6cb0.png

若是预检查失败,则可根据错误提示检查相关配置。

预检查成功后,可点击启动来开启迁移任务。

cf334a8eabc59aadd4ddfc7e73a3b0c4.png

任务启动后,任务状态会转换为运行中,待数据迁移完成,任务状态会转换为任务结束,您可以释放该迁移任务。

e08574f825eba3f0e15a973884096cca.png

如果创建数据迁移任务时,您同时选择了全量迁移增量同步,迁移过程中会先将源端数据库中存量数据迁移到目标端数据库,再将增量数据同步到目标端数据库。增量同步迁移不会自动结束,如果需要结束实时同步,您可以在管理控制台根据实际需求进行以下操作:

  • 单击暂停按钮来暂停该迁移任务,任务状态转换为已暂停,后续您可以继续启动该迁移任务
  • 单击停止来结束该迁移任务,任务状态转换为已结束,后续您可以释放该迁移任务

3f73d0a3dc0754942903deaa6f490aae.png

数据迁移任务结束后,您可以连接目标端云数据库实例,查看所迁移的数据信息。

相关产品

数据传输服务DTS:简单可靠的数据库数据传输服务