更新时间:2024-10-26 GMT+08:00
分享

DynamoDB迁移至GeminiDB DynamoDB操作指导

GeminiX迁移工具是一款自研工具,支持将DynamoDB数据按照DynamoDB接口语义无缝迁移到GeminiDB DynamoDB的自动化工具。本章节介绍AWS DynamoDB迁移至GeminiDB DynamoDB的场景。

迁移原理

本方案分为两个模块全量迁移和增量迁移,需要创建弹性云服务器作为数据中转。GeminiX工具具备分布式迁移的能力,支持多台机器并行迁移业务多张表。

  • 全量迁移阶段首先将DynamoDB提供的Scan接口将全量数据以分段方式读取出来写入到GeminiDB DynamoDB中。
  • 增量迁移阶段使用DynamoDB的流接口将增量数据同步到GeminiDB DynamoDB中。

前提条件

  • 已成功创建GeminiDB DynamoDB实例,且实例状态正常。
  • 已创建弹性云服务器,其中弹性云服务器规格为16U64G,磁盘空间大于100GB。创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“创建弹性云服务器”章节。
  • AWS DynamoDB与弹性云服务器之间通过专线传输数据,请确保弹性云服务器和AWS DynamoDB以及GeminiDB DynamoDB网络通畅。
  • GeminiDB DynamoDB存储容量不得小于AWS DynamoDB存储容量。
  • AWS DynamoDB开启流接口。

操作步骤

  1. 部署迁移工具。

    1. 获取开源工具GeminiX。
    2. 修改配置文件“conf.yaml”,修改时需要注意以下配置项。
      source:
        endpoint: 'https://dynamodb.us-west-2.amazonaws.com' #AWS DynamoDB的域名信息。
        access_key_id: 'xx' #AWS DynamoDB的AK信息。
        secret_access_key: 'xx' #AWS DynamoDB的SK信息。
      target:
        endpoint: ***.***.***.*** #GeminiDB DynamoDB的域名信息。
        access_key_id: 'xx' #GeminiDB DynamoDB的AK信息。
        secret_access_key: 'xx' #GeminiDB DynamoDB的SK信息。

  2. 全量数据迁移。

    执行全量迁移命令:

    nohup ./bin/migration.sh fullsync -c conf/conf.yaml >run.log 2>&1 &
    执行日志中出现如下信息,代表全量数据同步完成。
    finish syncing all tables and indexes

  3. 增量数据迁移。

    在执行增量迁移命令前,GeminiX中需要配置DynamoDB和GeminiDB DynamoDB的连接信息以及增量迁移的表名,具体配置方法参见b

    执行增量迁移命令:
    nohup ./bin/migration.sh incresync -c conf/conf.yaml >run.log 2>&1 &

  4. 迁移完成后,将业务流量切到GeminiDB DynamoDB。

相关文档