关于从 MongoDB 迁移到 Oracle NoSQL Database Cloud Service

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

体系结构

在此架构中,Oracle NoSQL Database Migrator 安装在 OCI 计算实例上。我们建议使用 OCI Always Free 计算实例来降低成本。

使用 OCI 对象存储(中间存储)和运行 Oracle NoSQL Database Migrator 的 OCI 计算实例,将 MongoDB 格式的 JSON 文件迁移到 Oracle NoSQL Database Cloud Service

注意:

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

下图展示了此体系结构。



migrate-mongodb-oracle-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 完全兼容。

使用须知

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

复核需求

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

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(计算)
  • Oracle Cloud Infrastructure 对象存储
  • MongoDB

这些是每种产品所需的角色。

产品名称:角色 要求 ...
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。
Oracle Cloud Infrastructure Object Storage :user Oracle Cloud Infrastructure Object Storage 存储桶上载和下载文件以及从存储桶读取文件。
MongoDB: admin MongoDB 集合导出到文件。

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

迁移的注意事项

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

  • 使用 OCI 对象存储作为中间存储迁移数据时,每个 MongoDB 格式的 JSON 文件最多有 13,500 条记录。如果 JSON 文件超过 13,500 记录限制,请使用 Oracle Linux split 命令将文件分成多个段。
  • MongoDB 格式的 JSON 文件中,第一列名为 _id。在 Oracle NoSQL Database Cloud Service 中,列名必须以字母开头。此解决方案中的两种数据迁移方法都将 Oracle NoSQL Database Cloud Service 中的值从 _id 迁移到 id