关于从 MongoDB 迁移到 Oracle NoSQL Database Cloud Service
您的组织已决定将数据从 MongoDB 迁移到 Oracle NoSQL Database Cloud Service ,以将数据保留在非关系数据库中,并保持高可用性和可扩展性。本手册将指导您完成使用 Oracle NoSQL Database Migrator 将数据从本地 MongoDB 和 MongoDB 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
。