关于将数据从 Amazon DynamoDB 迁移到 Oracle NoSQL Database Cloud Service

您的组织已决定将数据从 Amazon DynamoDB 迁移到 Oracle NoSQL Database Cloud Service ,以将数据保留在非关系数据库中,并保持高可用性和可扩展性。本手册将指导您完成使用 Oracle NoSQL Database Migrator 将数据从 Amazon DynamoDB 迁移到 Oracle NoSQL Database Cloud Service 的步骤。

体系结构

在此架构中,Oracle NoSQL Database Migrator 安装在 OCI 计算实例上。我们建议使用 OCI Always Free 计算实例来降低成本。Amazon DynamoDB 格式的 JSON 文件使用运行 Oracle NoSQL Database Migrator 的 OCI 计算实例从 Amazon Simple Storage Service (Amazon S3 ) 迁移。

注意:

在迁移数据时,Oracle 会保留和管理资源,以满足您的需求并预配容量。使用吞吐量的读取和写入单位来指定容量,存储单位来指定 GB 容量。

下图展示了此体系结构。



aws-dynamodb-nosql-architecture.zip

此体系结构支持以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是一个本地化的地理区域,其中包含一个或多个称为可用性域的数据中心。区域独立于其他区域,远距离可以区分它们(跨国家甚至大陆)。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错功能。可用性域不共享基础设施(例如电源或冷却设备),也不共享内部可用性域网络。因此,一个可用性域出现故障不太可能影响区域中的其他可用性域。

  • Fault domain(容错域)

    容错域是可用性域内一组硬件和基础设施。每个可用性域具有三个具有独立电源和硬件的容错域。在多个容错域之间分配资源时,应用可以承受容错域内的物理服务器故障、系统维护和电源故障。

  • 虚拟云网络 (VCN) 和子网

    VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定在某个区域或可用性域中。每个子网都包含一系列不与 VCN 中的其他子网重叠的地址。您可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • Internet gateway(Internet 网关)

    互联网网关允许 VCN 中的公共子网与公共互联网之间的通信。

  • 服务网关

    通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,并且从不通过互联网传输。

  • 身份和访问管理 (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的访问控制层。通过 IAM API 和用户界面,您可以管理身份域和身份域中的资源。每个 OCI IAM 身份域表示一个独立的身份和访问管理解决方案或不同的用户群体。

  • Oracle NoSQL Database Cloud Service

    Oracle NoSQL Database Cloud Service 可帮助开发人员轻松使用文档、列和键值数据库模型构建应用,通过数据复制提供可预测的单位毫秒级响应时间,从而实现高可用性。该服务为按需和预配的容量模式提供了 ACID 事务、无服务器扩展、全面的安全性以及按使用付费的低定价功能,并且与内部部署 Oracle NoSQL Database 完全兼容。

使用须知

开始之前,请检查此设置中使用的主要软件组件的版本,下载所需的软件包,然后查看产品文档以供以后参考。

复核需求

  • 确保运行 Oracle NoSQL Database Migrator 的 OCI 计算实例至少具有 1 个 OCPU,16GB RAM 运行 Oracle Linux 8。
  • OCI 计算实例必须运行 Oracle NoSQL Database Migrator 版本 1.5.0 和 Java 11。
  • 中间存储必须包括 Amazon S3 对象存储桶。

Oracle NoSQL Database Migrator and Analytics Integrator 下下载 Oracle NoSQL Database Migrator 1.5.0 二进制文件 (V1033765-01.zip):

关于必需的服务和角色

此解决方案需要以下产品和角色:

  • Oracle Cloud Infrastructure 身份和访问管理
  • Oracle NoSQL Database Cloud Service
  • Oracle Cloud Infrastructure(计算)
  • Amazon Simple Storage Service (Amazon S3)
  • Amazon DynamoDB
  • Amazon Identity and Access 管理

这些是每项服务所需的角色。

服务名称:角色 要求 ...
Oracle Cloud Infrastructure Identity and Access Management :user 创建 API 密钥以访问 OCI 来创建表并将数据导入 Oracle NoSQL Database Cloud Service
Oracle NoSQL Database Cloud Service :admin 创建表并导入数据。
Oracle Cloud Infrastructure Compute :admin 创建 OCI 计算实例以运行 Oracle NoSQL 数据迁移程序。
Oracle Cloud Infrastructure Compute VM:opc 安装并运行 Oracle NoSQL Data Migrator。
Amazon Simple Storage 服务存储桶:user 从 Amazon Simple Storage Service 上载文件和读取文件。
Amazon DynamoDB:Admin 浏览 DynamoDB 表以及将表导出到 Amazon Simple Storage Service Bucket。
Amazon Identity and Access Management:user 创建访问密钥以从 Amazon Simple Storage Service 存储桶读取文件。

要满足您的需求,请参阅 Oracle 产品、解决方案和服务

迁移的注意事项

在开始迁移之前,请查看这些注意事项。

  • 使用 DynamoDB 格式的 JSON 文件将数据从 Amazon DynamoDB 导入到 Oracle NoSQL Database Cloud Service 时,必须在 Oracle NoSQL Database Migrator 配置 JSON 文件中指定 dynamodb_json 作为数据格式。如果目标 Oracle NoSQL Database Cloud Service 表使用默认方案,则必须在 sink 定义中包括参数 DDBPartitionKey。参数 DDSortKey 是可选的。
  • Amazon DynamoDB 中的分区键和排序键的字符限制比 Oracle NoSQL Database Cloud Service 中的等效键要大。在 Amazon DynamoDB 中,分区键和排序键分别限制为 2048 字节和 1024 字节,而在 Oracle NoSQL Database Cloud Service 中,这些键限制为 64 字节。因此,如果要导入的记录之一的键长于 Oracle NoSQL Database Cloud Service 中的限制,则导入该记录将失败,并显示类似于以下内容的错误:“ primary or sort key of 88 exceeded the limit of 64”。有关限制和数据类型的详细信息,请参阅“复查文档”部分中的“Oracle NoSQL 文档 - 将 DynamoDB 类型映射到 Oracle NoSQL 类型”。
  • 在开始迁移之前,请记下 Amazon DynamoDB 表中分区键和排序键列的名称和类型。