DBMotion
Squids DBMotion,新增MongoDB数据迁移的支持,为用户提供零停机、高性能的在线数据迁移、校验服务。
01
MongoDB简介
MongoDB是目前来说除了关系型数据库外最流行的数据库,MongoDB是文档型(Document store)的NoSQL数据库,数据以BSon文档形式存储。
相比MySQL等关系型数据库,MongoDB最明显的优势是它的schema free特性。
不同文档相同key的value类型可以是整形也可以是字符串等其他类型,同一个文档下多行数据包含的字段也可以是不同的。
对于数据量大TB甚至PB级,数据模式无法确定,需要快速迭代,又不需要事务和复杂join的场景,非常适用于使用MongoDB来存取数据,目前,MongoDB 的应用已经渗透到各个领域,例如
02
丝滑DBMotion
支持MongoDB的在线迁移
DBMotion支持MongoDB的结构、全量、增量迁移以及数据校验。
通过增量模式的支持,DBMotion支持将客户的MongoDB零停机的迁移到目标库上。通过数据校验,用户在迁移前可以进行数据比对,最大可能的保证源端和目标端的数据一致性,提供有效、可靠的数据迁移服务。
03
DBMotion功能及优势
►中立,安全
►简单易用
►并发高性能
►零停机
►一致性可靠
04
迁移场景全覆盖
DBMotion目前除了MySQL以外还支持以下MongoDB主要场景的数据库迁移,包括:
多云间MongoDB迁移
这里假设客户的ECS上运行的MongoDB实例为dbmotion.squids.cn:27037,想要迁移到dbmotion.squids.cn:27018的MongoDB上来,需要执行以下操作
一、在“数据传输” 页面选择 "+添加迁移任务"
添加迁移任务包括三个步骤:源库目标库配置、迁移选项配置、配置确认
1.源库目标库配置阶段 如果源端或者目标端支持SSL,可以使用SSL进行加密传输
2.迁移选项配置阶段,选择需要迁移的数据库和迁移类型。
3.配置确认阶段,这个阶段会进行预检查,检查连通性和授权等情况。
二、查看任务详情 这个阶段可以查看任务在各个阶段执行的具体情况,并且支持校验源端和目标端的数据是否一致
线下自建MongoDB迁移上云
线下自建MongoDB迁移上Squids相对多云间迁移最主要的区别在于,线下的自建MongoDB没有公有IP,需要利用dbmotion_tool来将线下数据库映射到公网上来。
你需要找到一台能通公网并且能访问内网数据库的服务器,利用它来将内网MongoDB映射到公网上,在这台中转服务器上执行dbmotion_tool命令来完成映射功能
./dbmotion_tool -t create -h 192.168.2.104 -p 27017
create tunnel for 192.168.2.104:27017 on 56289
tunnel for 192.168.2.104:27017 on 56289 is created.
这里搭建了内网数据库的192.168.2.104:27017反向隧道,映射到 dbmotion.squids.cn:56289上