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管理控制台的左侧导航栏,单击数据传输任务标签,点击创建数据传输实例按钮。
如果您的源端是云数据库 DocDB for MongoDB 实例,则源端位置选择百度智能云数据库,如果是公网/BBC/BCC/DCC自建MongoDB实例,则源端位置选择自建数据存储。
如果您的目标端是云数据库 DocDB for MongoDB 实例,则目标端位置选择百度智能云数据库,如果是公网/BBC/BCC/DCC自建MongoDB实例,则目标端位置选择自建数据存储。
跨地域或是同地域根据实际情况选择即可。
然后点击下一步按钮,完成购买配置。在DTS管理控制台数据传输任务列表页,列表页的最上方会新增一个未配置状态的DTS任务,就是您刚刚创建的迁移任务,点击配置任务按钮,即可进行任务配置。如果页面跳转后未发现列表页出现新任务,建议等待一段时间刷新页面。
2. 配置DTS迁移任务
点击配置任务,进入任务连接配置页。以下以源端为自建数据存储,目标端为百度智能云数据库为例进行配置。
配置源端以自建数据存储为例,源端选择您对应的自建实例即可。在本例中,将接入类型选择云服务器BCC,数据类型选择MongoDB,填入对应的实例账号与密码,点击测试连通性按钮就能测试源端实例的连通性。
配置目标端以百度智能云数据库为例,目标端数据类型会根据源端数据类型自动匹配。选择要迁入的云数据库DocDB for MongoDB实例,输入相应账号密码,点击测试连通性按钮,就能测试目标端的连通性。
点击授权白名单按钮,进入下一步,可选择源端实例的迁移类型,全量迁移或是增量迁移或是两者均选择,您可以根据实际需求选择即可。目前,MongoDB到MongoDB的迁移仅支持以实例级别为粒度进行迁移。
选择迁移类型后,可以点击保存并预检查按钮进行保存配置并进行预检查,或者点击保存按钮保存配置。
3. 启动迁移
DTS迁移任务配置保存后,可以在任务列表页启动预检查。若是保存配置任务时点击的保存并预检查按钮则无须再进行预检查。
若是预检查失败,则可根据错误提示检查相关配置。
预检查成功后,可点击启动来开启迁移任务。
任务启动后,任务状态会转换为运行中,待数据迁移完成,任务状态会转换为任务结束,您可以释放该迁移任务。
如果创建数据迁移任务时,您同时选择了全量迁移和增量同步,迁移过程中会先将源端数据库中存量数据迁移到目标端数据库,再将增量数据同步到目标端数据库。增量同步迁移不会自动结束,如果需要结束实时同步,您可以在管理控制台根据实际需求进行以下操作:
- 单击暂停按钮来暂停该迁移任务,任务状态转换为已暂停,后续您可以继续启动该迁移任务
- 单击停止按钮来结束该迁移任务,任务状态转换为已结束,后续您可以释放该迁移任务
数据迁移任务结束后,您可以连接目标端云数据库实例,查看所迁移的数据信息。
相关产品
数据传输服务DTS:简单可靠的数据库数据传输服务