Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
适用对象:
卡珊德拉
重要
你是否正在寻找一种数据库解决方案,以应对需要高扩展性、99.999% 可用性服务级别协议(SLA)、即时自动扩展和跨多个区域的自动故障转移的场景? 请考虑使用 Azure Cosmos DB for NoSQL。
Azure Cosmos DB 中的 Cassandra API 已成为在 Oracle 上运行的企业工作负荷的最佳选择,原因如下:
更高的可伸缩性和可用性: 它可以消除单一故障点,并提高应用程序的可伸缩性和可用性。
节省成本: 可以使用 Azure Cosmos DB 节省成本,其中包括 VM 的成本、带宽和任何适用的 Oracle 许可证。 此外,无需管理数据中心、服务器、SSD storage、网络和电力成本。
无须管理和监视负担:作为完全托管的云服务,Azure Cosmos DB 消除了管理和监视无数设置的开销。
可以通过多种方式将数据库工作负荷从一个平台迁移到另一个平台。 Arcion是一种安全可靠的工具,可用于执行从其他数据库到 Azure Cosmos DB 的零停机时间迁移。 本文介绍使用 Arcion 将数据从 Oracle 数据库迁移到 Azure Cosmos DB for Apache Cassandra 所需的步骤。
注意事项
Arcion 提供的此产品/服务目前为 beta 版本。 有关详细信息,请通过 Arcion 支持与他们联系
使用 Arcion 进行迁移的优势
Arcion 的迁移解决方案按照分步方法迁移复杂的运营工作负荷。 下面是 Arcion 的零停机迁移计划的一些重要方面:
它提供从 Oracle 数据库到 Azure Cosmos DB 的业务逻辑(表、索引、视图)的自动迁移。 不需手动创建架构。
Arcion 提供大规模并行数据库复制。 它可以使用名为“变更数据捕获 (CDC)”的技术,让源平台和目标平台在迁移过程中保持同步状态。 通过使用 CDC,Arcion 会持续从源数据库(Oracle)拉取更改流,并将其应用到目标数据库(Azure Cosmos DB)。
它具有容错功能,即使在系统的硬件或软件故障期间,也能准确地保证一次数据交付。
它可以在传输过程中使用安全方法(例如 TLS/SSL、加密)对数据进行保护。
它提供服务,用于将以 PL/SQL 编写的复杂业务逻辑转换为 Azure Cosmos DB 中的等效业务逻辑。
迁移数据的步骤
本部分介绍设置 Arcion 并将数据从 Oracle 数据库迁移到 Azure Cosmos DB 所需的步骤。
在您计划安装 Arcion 复制器的计算机上,添加一个安全证书。 Arcion 复制方需要此证书才能与指定的 Azure Cosmos DB 帐户建立 TLS 连接。 可以使用以下步骤来添加证书:
wget https://cacert.omniroot.com/bc2025.crt mv bc2025.crt bc2025.cer keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer可以在 Arcion 网站上请求演示版,以获取 Arcion 安装和二进制文件。 也可以向相关团队发送电子邮件。
在 CLI 终端设置源数据库配置。 使用
vi conf/conn/oracle.yml命令打开配置文件,添加一个包含 Oracle 节点 IP 地址的逗号分隔的列表,并添加端口号、用户名、密码以及任何其他必需的详细信息。 以下代码显示一个示例配置文件:type: ORACLE host: localhost port: 53546 service-name: IO username: '<Username of your Oracle database>' password: '<Password of your Oracle database>' conn-cnt: 30 use-ssl: false
填充配置详细信息以后,保存并关闭该文件。
(可选)设置源数据库筛选器文件。 筛选器文件指定要迁移的架构或表。 使用
vi filter/oracle_filter.yml命令打开配置文件,输入以下配置详细信息:allow: - schema: “io_arcion” Types: [TABLE]填充数据库筛选器详细信息以后,保存并关闭该文件。
接下来,设置目标数据库的配置。 在定义配置之前,创建 Azure Cosmos DB for Apache Cassandra 帐户。 从数据中选择适当的分区键,然后创建密钥空间,以及用于存储迁移的数据的表。
在迁移数据之前,请将容器吞吐量提高到快速迁移应用程序所需的量。 例如,可将吞吐量提高到 100000 RU。 在开始迁移之前提高吞吐量可以缩短数据迁移时间。
必须在迁移完成后降低吞吐量。 可以根据存储的数据量以及每次操作所需的 RU 数,估算数据迁移后所需的吞吐量。 若要详细了解如何估算所需的 RU,请参阅文章预配容器和数据库的吞吐量以及使用 Azure Cosmos DB 容量规划工具估算 RU/s。
从Connection String窗格中获取 Azure Cosmos DB 帐户的Contact Point、Port、Username和Primary Password。 需要在配置文件中使用这些值。
在 CLI 终端设置目标数据库配置。 使用
vi conf/conn/cosmosdb.yml命令打开配置文件,添加一个包含主机 URI 的逗号分隔的列表,并添加端口号、用户名、密码以及其他必需的参数。 下面是一个示例,介绍了配置文件中的内容:type: COSMOSDB host: `<Azure Cosmos DB account’s Contact point>` port: 10350 username: 'arciondemo' password: `<Your Azure Cosmos DB account’s primary password>' max-connections: 30 use-ssl: false接下来,使用 Arcion 迁移数据。 可以按“完全”或“快照”模式运行 Arcion 复制器:
“完全模式” - 在此模式下,复制器会在迁移后继续运行,并侦听在源 Oracle 系统上发生的任何更改。 如果检测到任何更改,则会在目标 Azure Cosmos DB 帐户上实时复制这些更改。
“快照模式“ - 在此模式下,可以执行架构迁移和一次性数据复制。 此选项不支持实时复制。
可以通过上述两种模式进行迁移,不会造成停机。
若要迁移数据,请在 Arcion 复制器 CLI 终端运行以下命令:
./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing复制器 UI 显示复制进度。 完成架构迁移和快照操作以后,进度会显示 100%。 迁移完成后,可以验证目标 Azure Cosmos DB 数据库上的数据。
由于你已使用“完全”模式进行迁移,因此可以执行多项操作,例如在源 Oracle 数据库上插入、更新或删除数据。 稍后,可以验证它们是否在目标 Azure Cosmos DB 数据库上实时复制。 迁移后,请确保降低为 Azure Cosmos DB 容器配置的吞吐量。
可以随时停止复制器,并使用 --resume 开关重启它。 复制会从停止的点继续,不会损害数据一致性。 以下命令演示如何使用 resume 开关。
./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing --resume
后续步骤
- 在容器和数据库上预配吞吐量
- 使用 Azure Cosmos DB 容量规划器估算 RU/s 的文章