使用NimoShake将Amazon DynamoDB迁移至百度云DocDB

数据传输服务 DTS

  • 任务管理
    • 任务限速
    • 修改迁移任务的当前位点
    • 查看任务进度
    • 创建类似任务
    • 一键反向
    • 管理任务对象
      • 同步Online DDL
      • 迁移数据库账号
      • 修改同步对象
      • 传输对象范围
      • 设置过滤条件
      • 库表列名映射
    • 生命周期
      • 结束任务
      • 删除任务
      • 暂停任务
      • 变更任务链路规格
      • 启动任务
  • API3.0
    • 调用说明
    • API概览
    • 目录
    • 数据传输任务
      • 结束任务
      • 更新任务名称
      • 暂停任务
      • 查询前置检查结果
      • 释放任务
      • 修改同步对象
      • 修改同步对象记录
      • 创建任务
      • 前置检查
      • 强制跳过预检查
      • 查询任务列表
      • 变更链路规格
      • 配置任务
      • 查询任务信息
      • 启动任务
      • demo
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-一键反向
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-数据校验
        • 公网sql迁移到公网kafka
        • 专线迁移Redis标准版迁移到云数据库Redis标准版-一键反向
        • 专线迁移的MongoDB分片集迁移到云数据库MongoDB分片集-数据校验
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-一键反向
        • 专线迁移MySQL迁移到云数据库RDS-一键反向
        • 专线迁移的Redis标准版迁移到云数据库Redis标准版-数据校验
        • 专线迁移MySQL迁移到云数据库RDS-数据校验
        • 专线迁移MongoDB分片集迁移到云数据库MongoDB分片集
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-数据校验
        • 专线迁移MySQL迁移到云数据库RDS
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版
        • 专线迁移Redis标准版迁移到云数据库Redis标准版
      • 其他
        • 一键反向查询前置检查结果
        • 展示授权白名单
        • 一键反向延迟检查
        • 获取订单状态
        • 配置一键反向
        • 查询vpc列表
        • 查询MySQL实例拥有的账号列表
        • 绑定&解除标签
        • 查询可用区列表
        • 检查数据库连通性
        • 一键反向
      • 数据校验
        • 查询数据校验任务列表
        • 数据校验任务启动
        • 创建数据校验任务
        • 配置数据校验任务
        • 停止校验
        • 查看数据校验比对结果
        • 数据校验前置检查
        • 查看数据校验任务信息
  • 监控报警
    • 查看任务监控
    • 设置报警策略
  • 产品计费
    • 计费概述
    • 到期或欠费说明
    • 计费方式
    • 变更和退订说明
  • 数据校验
    • 配置数据校验
    • 查看数据校验
    • 数据校验概述
  • Java_SDK
    • SDK下载页
    • 安装-DTS-Java-SDK
    • 使用数据订阅SDK
    • SDK接口简介
    • SDK下载
    • 概述
  • 快速入门
    • 购买流程
    • 数据迁移操作指导
    • 配置迁移任务
  • 典型实践
    • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
    • 不同库名间的数据同步
    • 获取主账号ID
    • 使用DTS实现目标端为Elasticsearch的数据迁移
    • 使用DTS实现MySQL数据拆分
    • 数据库迁移上云
    • 业务切换流程
    • DTS支持专线迁移
    • DTS支持专线迁移(新)
    • 修改RDS MySQL参数提升迁移性能
    • MySQL实例的双向同步
  • 准备工作
    • 自建MySQL创建账号并设置binlog
    • 迁移评估
      • 源端MySQL迁移评估
    • 网络准备
      • 网络准备概述
      • VPC接入
      • 添加DTS服务IP白名单
      • 本地IDC接入百度智能云
        • VPN接入
        • 专线接入
        • 公网接入
    • 访问控制
      • 子用户权限管理
  • 产品简介
    • 支持的数据流
    • 功能概览
    • 基本概念
    • 产品优势
    • 架构原理
    • 应用场景
    • 什么是数据库传输服务DTS
    • 链路规格说明
  • 数据迁移
    • 跨账号迁移云数据库实例
    • 迁移方案概览
    • TiDB为源的迁移
      • 自建TiDB迁移至GaiaDB
    • Oracle为源的迁移
      • 自建Oracle迁移至RDS MySQL
    • GaiaDB为源的迁移
      • GaiaDB实例间的迁移
    • MySQL为源的迁移
      • 腾讯云MySQL迁移至RDS MySQL
      • RDS MySQL迁移至GaiaDB
      • 自建MySQL迁移至GaiaDB
      • 自建MySQL迁移至RDS MySQL
      • 阿里云PolarDB迁移至GaiaDB
      • RDS MySQL实例间的迁移
      • 阿里云MySQL迁移至RDS MySQL
      • MySQL迁移至Kafka
    • 异构数据库间的数据类型映射关系
      • 百度智能云DTS数据类型
      • DTS支持的数据源端
        • 将Kafka作为源端
        • 将Redis标准版作为源端
        • 将GaiaDB作为源端
        • 将Oracle作为源端
        • 将SQL Server作为源端
        • 将云上百度DRDS作为源端
        • 将MongoDB分片集作为源端
        • 将PostgreSQL作为源端
        • 将MongoDB副本集作为源端
        • 将MySQL作为源端
      • DTS支持的数据目的端
        • 将SQL Server作为目标端
        • 将Elasticsearch作为DTS目的端
        • 将GaiaDB作为目标端
        • 将Palo作为目标端
        • 将DataHub作为目标端
        • 将PostgreSQL作为目标端
        • 将MySQL作为目标端
        • 将Kafka作为DTS目标端
    • SQL Server 为源的迁移
      • 自建SQL Server迁移至RDS SQL Server
    • MongoDB为源的迁移
      • 自建MongoDB分片集迁移至DocDB MongoDB
      • DocDB MongoDB副本集迁移至DocDB MongoDB
    • Kafka为源的迁移
      • 自建Kafka迁移至消息服务 for Kafka
    • PostgreSQL为源的迁移
      • RDS PostgreSQL实例间的迁移
      • 自建PostgreSQL迁移至RDS PostgreSQL
      • AWS PostgreSQL迁移至RDS PostgreSQL
    • Redis为源的迁移
      • 使用DTS实现自建Redis标准版到百度智能云SCS for Redis标准版的数据迁移
      • 云数据库Redis实例间的迁移
      • 自建Redis迁移至云数据库Redis(含PegaDB)
    • Milvus为源的迁移
      • 自建 Milvus 迁移至向量数据库 VectorDB
  • 产品动态
    • 功能发布记录
    • 公告
      • 数据传输服务DTS支持多规格数据传输任务
      • 数据传输服务DTS任务状态升级通知
  • 预检查项
    • TiDB检查项
    • PostgreSQL检查项
    • MySQL检查项
    • Palo检查项
    • Oracle检查项
    • GaiaDB-X检查项
    • RocketMQ检查项
    • MongoDB检查项
    • Redis检查项
    • Elasticsearch检查项
    • GaiaDB检查项
    • Kafka检查项
    • 预检查不通过处理方法
      • 源库、目标库的连接数是否满足要求检查
      • 迁移表依赖的外键父表是否迁移检查
      • 目的数据库是否只读检查
      • 目的数据库的账号权限是否满足迁移要求检查
      • 目的库中表是否为空检查
      • 源库和目标库中SQL_MODE是否合法检查
      • 数据传输服务器是否能连通目的数据库检查
      • 源数据库的版本号检查
      • 源数据库的账号权限是否满足迁移要求检查
      • 迁移表是否有不支持的存储引擎检查
      • 预检查项汇总
      • 迁移表的表结构在目的库是否存在检查
      • 目的数据库待迁入的数据库是否可用检查
      • 目的库是否存在跟待迁移对象同名的结构对象检查
      • 数据传输服务器是否能连通源数据库检查
  • 服务支持
    • 相关协议
      • DTS服务等级协议SLA
    • 常见问题
      • 使用类问题
      • 数据迁移问题
      • 常见问题总览
      • 数据同步问题
所有文档
menu
没有找到结果,请重新输入

数据传输服务 DTS

  • 任务管理
    • 任务限速
    • 修改迁移任务的当前位点
    • 查看任务进度
    • 创建类似任务
    • 一键反向
    • 管理任务对象
      • 同步Online DDL
      • 迁移数据库账号
      • 修改同步对象
      • 传输对象范围
      • 设置过滤条件
      • 库表列名映射
    • 生命周期
      • 结束任务
      • 删除任务
      • 暂停任务
      • 变更任务链路规格
      • 启动任务
  • API3.0
    • 调用说明
    • API概览
    • 目录
    • 数据传输任务
      • 结束任务
      • 更新任务名称
      • 暂停任务
      • 查询前置检查结果
      • 释放任务
      • 修改同步对象
      • 修改同步对象记录
      • 创建任务
      • 前置检查
      • 强制跳过预检查
      • 查询任务列表
      • 变更链路规格
      • 配置任务
      • 查询任务信息
      • 启动任务
      • demo
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-一键反向
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-数据校验
        • 公网sql迁移到公网kafka
        • 专线迁移Redis标准版迁移到云数据库Redis标准版-一键反向
        • 专线迁移的MongoDB分片集迁移到云数据库MongoDB分片集-数据校验
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-一键反向
        • 专线迁移MySQL迁移到云数据库RDS-一键反向
        • 专线迁移的Redis标准版迁移到云数据库Redis标准版-数据校验
        • 专线迁移MySQL迁移到云数据库RDS-数据校验
        • 专线迁移MongoDB分片集迁移到云数据库MongoDB分片集
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-数据校验
        • 专线迁移MySQL迁移到云数据库RDS
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版
        • 专线迁移Redis标准版迁移到云数据库Redis标准版
      • 其他
        • 一键反向查询前置检查结果
        • 展示授权白名单
        • 一键反向延迟检查
        • 获取订单状态
        • 配置一键反向
        • 查询vpc列表
        • 查询MySQL实例拥有的账号列表
        • 绑定&解除标签
        • 查询可用区列表
        • 检查数据库连通性
        • 一键反向
      • 数据校验
        • 查询数据校验任务列表
        • 数据校验任务启动
        • 创建数据校验任务
        • 配置数据校验任务
        • 停止校验
        • 查看数据校验比对结果
        • 数据校验前置检查
        • 查看数据校验任务信息
  • 监控报警
    • 查看任务监控
    • 设置报警策略
  • 产品计费
    • 计费概述
    • 到期或欠费说明
    • 计费方式
    • 变更和退订说明
  • 数据校验
    • 配置数据校验
    • 查看数据校验
    • 数据校验概述
  • Java_SDK
    • SDK下载页
    • 安装-DTS-Java-SDK
    • 使用数据订阅SDK
    • SDK接口简介
    • SDK下载
    • 概述
  • 快速入门
    • 购买流程
    • 数据迁移操作指导
    • 配置迁移任务
  • 典型实践
    • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
    • 不同库名间的数据同步
    • 获取主账号ID
    • 使用DTS实现目标端为Elasticsearch的数据迁移
    • 使用DTS实现MySQL数据拆分
    • 数据库迁移上云
    • 业务切换流程
    • DTS支持专线迁移
    • DTS支持专线迁移(新)
    • 修改RDS MySQL参数提升迁移性能
    • MySQL实例的双向同步
  • 准备工作
    • 自建MySQL创建账号并设置binlog
    • 迁移评估
      • 源端MySQL迁移评估
    • 网络准备
      • 网络准备概述
      • VPC接入
      • 添加DTS服务IP白名单
      • 本地IDC接入百度智能云
        • VPN接入
        • 专线接入
        • 公网接入
    • 访问控制
      • 子用户权限管理
  • 产品简介
    • 支持的数据流
    • 功能概览
    • 基本概念
    • 产品优势
    • 架构原理
    • 应用场景
    • 什么是数据库传输服务DTS
    • 链路规格说明
  • 数据迁移
    • 跨账号迁移云数据库实例
    • 迁移方案概览
    • TiDB为源的迁移
      • 自建TiDB迁移至GaiaDB
    • Oracle为源的迁移
      • 自建Oracle迁移至RDS MySQL
    • GaiaDB为源的迁移
      • GaiaDB实例间的迁移
    • MySQL为源的迁移
      • 腾讯云MySQL迁移至RDS MySQL
      • RDS MySQL迁移至GaiaDB
      • 自建MySQL迁移至GaiaDB
      • 自建MySQL迁移至RDS MySQL
      • 阿里云PolarDB迁移至GaiaDB
      • RDS MySQL实例间的迁移
      • 阿里云MySQL迁移至RDS MySQL
      • MySQL迁移至Kafka
    • 异构数据库间的数据类型映射关系
      • 百度智能云DTS数据类型
      • DTS支持的数据源端
        • 将Kafka作为源端
        • 将Redis标准版作为源端
        • 将GaiaDB作为源端
        • 将Oracle作为源端
        • 将SQL Server作为源端
        • 将云上百度DRDS作为源端
        • 将MongoDB分片集作为源端
        • 将PostgreSQL作为源端
        • 将MongoDB副本集作为源端
        • 将MySQL作为源端
      • DTS支持的数据目的端
        • 将SQL Server作为目标端
        • 将Elasticsearch作为DTS目的端
        • 将GaiaDB作为目标端
        • 将Palo作为目标端
        • 将DataHub作为目标端
        • 将PostgreSQL作为目标端
        • 将MySQL作为目标端
        • 将Kafka作为DTS目标端
    • SQL Server 为源的迁移
      • 自建SQL Server迁移至RDS SQL Server
    • MongoDB为源的迁移
      • 自建MongoDB分片集迁移至DocDB MongoDB
      • DocDB MongoDB副本集迁移至DocDB MongoDB
    • Kafka为源的迁移
      • 自建Kafka迁移至消息服务 for Kafka
    • PostgreSQL为源的迁移
      • RDS PostgreSQL实例间的迁移
      • 自建PostgreSQL迁移至RDS PostgreSQL
      • AWS PostgreSQL迁移至RDS PostgreSQL
    • Redis为源的迁移
      • 使用DTS实现自建Redis标准版到百度智能云SCS for Redis标准版的数据迁移
      • 云数据库Redis实例间的迁移
      • 自建Redis迁移至云数据库Redis(含PegaDB)
    • Milvus为源的迁移
      • 自建 Milvus 迁移至向量数据库 VectorDB
  • 产品动态
    • 功能发布记录
    • 公告
      • 数据传输服务DTS支持多规格数据传输任务
      • 数据传输服务DTS任务状态升级通知
  • 预检查项
    • TiDB检查项
    • PostgreSQL检查项
    • MySQL检查项
    • Palo检查项
    • Oracle检查项
    • GaiaDB-X检查项
    • RocketMQ检查项
    • MongoDB检查项
    • Redis检查项
    • Elasticsearch检查项
    • GaiaDB检查项
    • Kafka检查项
    • 预检查不通过处理方法
      • 源库、目标库的连接数是否满足要求检查
      • 迁移表依赖的外键父表是否迁移检查
      • 目的数据库是否只读检查
      • 目的数据库的账号权限是否满足迁移要求检查
      • 目的库中表是否为空检查
      • 源库和目标库中SQL_MODE是否合法检查
      • 数据传输服务器是否能连通目的数据库检查
      • 源数据库的版本号检查
      • 源数据库的账号权限是否满足迁移要求检查
      • 迁移表是否有不支持的存储引擎检查
      • 预检查项汇总
      • 迁移表的表结构在目的库是否存在检查
      • 目的数据库待迁入的数据库是否可用检查
      • 目的库是否存在跟待迁移对象同名的结构对象检查
      • 数据传输服务器是否能连通源数据库检查
  • 服务支持
    • 相关协议
      • DTS服务等级协议SLA
    • 常见问题
      • 使用类问题
      • 数据迁移问题
      • 常见问题总览
      • 数据同步问题
  • 文档中心
  • arrow
  • 数据传输服务DTS
  • arrow
  • 典型实践
  • arrow
  • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
本页目录
  • 前提条件
  • 背景信息
  • 注意事项
  • 名词解释
  • 将Amazon DynamoDB迁移至百度云
  • 相关产品

使用NimoShake将Amazon DynamoDB迁移至百度云DocDB

更新时间:2025-08-21

NimoShake(又名DynamoShake)是一款开源的数据同步工具,您可以借助该工具将Amazon DynamoDB数据库迁移至百度云数据库 DocDB for MongoDB版。

前提条件

源端DynamoDB准备工作:

  • 授权以编程方式访问DynamoDB:您可以参考此文档

目标端百度云MongoDB准备工作:

  • 已经创建百度云MongoDB实例,详情请参见创建副本集实例或创建分片集群实例。

背景信息

本文档主要介绍NimoShake工具及其使用方法。NimoShake主要用于从DynamoDB进行迁移,目的端支持MongoDB。更多详情请参见NimoShake介绍。

注意事项

在执行全量数据迁移时将占用源库和目标库一定的资源,可能会导致数据库服务器负载上升。如果数据库业务量较大或服务器规格较低,可能会加重数据库压力,甚至导致数据库服务不可用。建议您在执行数据迁移前谨慎评估,在业务低峰期执行数据迁移。

名词解释

  • 断点续传:断点续传是指将一个任务分成多个部分进行传输,当遇到网络故障或者其他原因造成的传输中断,可以延续之前传输的部分继续传输,而不用从头开始。

全量同步不支持断点续传功能,增量同步支持断点续传,如果增量同步过程中连接断开了,在一定时间内恢复连接是可以继续进行增量同步的。但在某些情况下,比如断开的时间过久,或者之前位点的丢失,都会导致重新触发全量同步。

  • 位点:增量的断点续传是根据位点来实现的,默认的位点是写入到目的端MongoDB中,库名是dynamo-shake-checkpoint。每个表都会记录一个checkpoint的表,同样还会有一个status_table表记录当前是全量同步还是增量同步。

将Amazon DynamoDB迁移至百度云

本步骤介绍如何使用NimoShake将Amazon Dynamo数据库迁移到百度云数据库。

  1. 在系统中执行如下命令下载NimoShake包,等待下载完成。
Plain Text
1wget https://github.com/alibaba/NimoShake/releases/download/release-v1.0.13-20220411/nimo-shake-v1.0.13.tar.gz

建议下载最新版本的NimoShake包,下载地址请参见NimoShake。

  1. 执行如下命令解压下载的NimoShake包。
Plain Text
1tar zxvf nimo-shake-v1.0.13.tar.gz
  1. 解压完成后,输入cd nimo-shake-v1.0.13命令进入NimoShake文件夹。
  2. 输入vi nimo-shake.conf命令打开NimoShake的配置文件。
  3. 配置NimoShake,各配置项说明如下:

    参数 说明 示例值

    id

    迁移任务的ID,可自定义,用于输出pid文件等信息,如本次任务的日志名称、断点续传(checkpoint)位点信息存储的数据库名称、同步到目的端的数据库名称。

    id = nimo-shake

    log.file

    日志文件路径,不配置将打印到stdout。

    log.file = nimo-shake.log

    log.level

    日志的等级,取值:

    • none:不收集日志。

    • error:包含错误级别信息的日志。

    • warn:包含警告级别信息的日志。

    • info:反馈当前系统状态的日志。

    • debug:包含调试信息的日志。

    默认值:info。

    log.level = info

    log.buffer

    是否启用日志缓冲区。取值:

    • true:启用。启用后能保证性能,但退出时可能会丢失最后几条日志。

    • false:不启用。不启用将会降低性能但保证退出时每条日志都被打印。

    默认值:true。

    log.buffer = true

    system_profile

    PPROF端口,作调试用,打印堆栈协程信息。

    system_profile = 9330

    http_profile

    HTTP端口,开放该端口可通过外网查看NimoShake的当前状态。

    http_profile = 9340

    sync_mode

    同步的类型,取值如下:

    • all:执行全量数据同步和增量数据同步。

    • full:仅执行全量同步。

    默认值:all。

    sync_mode = all

    source.access_key_id

    DynamoDB端的AccessKey ID。

    source.access_key_id = xxxxxxxxxxx

    source.secret_access_key

    DynamoDB端的Secret AccessKey。

    source.secret_access_key = xxxxxxxxxx

    source.session_token

    DynamoDB端的临时密钥,如没有可以不配置。

    source.session_token = xxxxxxxxxx

    source.region

    DynamoDB所属的地域,如没有可以不配置。

    source.region = us-east-2

    source.session.max_retries

    会话失败后的最大重试次数。

    source.session.max_retries = 3

    source.session.timeout

    会话超时时间,0为不启用。单位:毫秒。

    source.session.timeout = 3000

    filter.collection.white

    数据同步的白名单,设置允许通过的表名。如filter.collection.white = c1;c2表示允许C1和C2表通过,剩下的表全部过滤。

    说明

    不能同时指定filter.collection.white和filter.collection.black参数,否则表示全部表通过。

    filter.collection.white = c1;c2

    filter.collection.black

    数据同步的黑名单,设置需要过滤的表名。如filter.collection.black = c1;c2表示过滤掉C1和C2表,剩下的表全部通过。

    说明

    不能同时指定filter.collection.white和filter.collection.black参数,否则表示全部表通过。

    filter.collection.black = c1;c2

    qps.full

    全量同步阶段,限制Scan命令对表执行的频率,表示每秒钟最多调用多少次Scan。默认值:1000。

    qps.full = 1000

    qps.full.batch_num

    全量同步阶段,每秒拉取多少条数据。默认值:128。

    qps.full.batch_num = 128

    qps.incr

    增量同步阶段,限制GetRecords命令对表执行的频率,表示每秒钟最多调用多少次GetRecords。默认值:1000。

    qps.incr = 1000

    qps.incr.batch_num

    增量同步阶段,每秒拉取多少条数据。默认值:128。

    qps.incr.batch_num = 128

    target.type

    目的端数据库类型,取值:

    • mongodb:目的端为MongoDB数据库。

    target.type = mongodb

    target.mongodb.type

    目的端MongoDB数据库的类型,取值:

    • replica:副本集

    • sharding:分片集群

    target.mongodb.type = sharding

    target.address

    目的端数据库的连接地址,支持MongoDB的连接串地址。

    target.address = mongodb://root:****@xxxxxx.mongodb.bj.baidubce.com:27017/admin

    target.db.exist

    目的端重名表的处理方式,取值:

    • rename:对目的端已存在的重名表进行重命名,添加时间戳后缀,比如c1变为c1.2019-07-01Z12:10:11。

      警告

      此操作会修改目的端的表名称,可能会对业务产生影响,请务必提前做好迁移的准备工作。

    • drop:删除目的端的重名表。

    如不配置则不作处理,此时如果目的端中有重名表会报错退出,迁移终止。

    target.db.exist = drop

    full.concurrency

    全量同步阶段的表级别并发度,表示一次最多同步多少个表。默认值:4。

    full.concurrency = 4

    full.document.concurrency

    全量同步阶段参数。表内document的并发度,表示使用多少个线程并发将一个表内的内容写入目的端。默认值:4。

    full.document.concurrency = 4

    full.document.parser

    全量同步阶段参数。表内解析线程个数,表示使用多少个线程并发将Dynamo协议转换到目的端对应协议。默认值:2。

    full.document.parser = 2

    full.enable_index.user

    全量同步阶段参数。是否同步用户自建的索引。取值:

    • true:是

    • false:否

    full.enable_index.user = true

    full.executor.insert_on_dup_update

    全量同步阶段参数。在目的端碰到相同key的情况下,是否将INSERT操作改为UPDATE。取值:

    • true:是

    • false:否

    full.executor.insert_on_dup_update = true

    increase.executor.insert_on_dup_update

    增量同步阶段参数。在目的端碰到相同key的情况下,是否将INSERT操作改为UPDATE。取值:

    • true:是

    • false:否

    increase.executor.insert_on_dup_update = true

    increase.executor.upsert

    增量同步阶段参数。如果目的端不存在key的情况下,是否将UPDATE操作改为UPSERT。取值:

    • true:是

    • false:否

    说明

    UPSERT操作会判断目标key是否存在,如果存在则执行UPDATE操作,如果不存在则执行INSERT操作。

    increase.executor.upsert = true

    convert.type

    增量同步阶段参数。是否对Dynamo协议进行转换。取值:

    • raw:不对Dynamo协议进行转换,直接写入。

    • change:对Dynamo协议进行转换。如:将{"hello":"1"}转换为{"hello": 1}。

    convert.type = change

    increase.concurrency

    增量同步阶段参数。一次最多并发抓取多少个分片(shard)。默认值:16。

    increase.concurrency = 16

    checkpoint.type

    断点续传(Checkpoint)位点信息的存储类型。取值:

    • mongodb:断点续传(Checkpoint)位点信息存储于MongoDB数据库中,仅在target.type参数为mongodb时可用。

    • file:断点续传(Checkpoint)位点信息存储于本地计算机中。

    checkpoint.type = mongodb

    checkpoint.address

    存储断点续传(Checkpoint)位点信息的地址。

    • checkpoint.type参数为mongodb:输入MongoDB数据库的连接地址。如不配置则默认存储到目的端的MongoDB库中。

    • checkpoint.type参数为file:输入以nimo-shake运行文件所在路径为基准的相对路径,如:checkpoint。如不配置则默认存储到checkpoint文件夹。

    checkpoint.address = mongodb://root:****@xxxxxx.mongodb.bj.baidubce.com:27017/admin

    checkpoint.db

    存储断点续传(Checkpoint)位点信息的MongoDB数据库名,如不配置则数据库名的格式默认为<任务ID>-checkpoint,示例:nimoshake-checkpoint。

    checkpoint.db = nimoshake-checkpoint

  4. 执行如下命令使用配置好的nimo-shake.conf文件启动迁移。
Plain Text
1./nimo-shake.linux -conf=nimo-shake.conf

全量同步完成后,屏幕上会打印出full sync done!。如果中途出错导致同步终止,程序会自动关闭并在屏幕上打印对应的错误信息,便于您定位错误原因。

相关产品

云数据库DocDB for MongoDB版

上一篇
快速入门
下一篇
不同库名间的数据同步