使用 Oracle JSON Relational Duality 和 GoldenGate 数据流复制业务对象
Oracle GoldenGate 26ai 在基于事件的发布/订阅架构中引入了功能全面的业务对象复制功能。
在基于事件的发布/子体系结构中,通过组合两个新的 Oracle 技术功能来实施功能全面的业务对象复制:Oracle AI Database JSON Relational Duality Views 和 Oracle GoldenGate Data Streams。
Oracle AI Database 26ai JSON Relational Duality Views 支持开发人员轻松使用关系数据作为 JSON 文档模型。这结合了 JSON 文档与关系模型的优势,同时避免了每个文档的限制。Oracle JSON 关系二元性视图本质上是一个 SQL 视图,它以结构化的关系格式呈现 JSON 数据。
使用 Oracle JSON Relational Duality 和 GoldenGate Data Stream 复制业务对象对数据产品进行优先级排序,并通过确保数据对象的唯一性,成为应用程序、事务处理网状结构网络、数据/事件网状结构网络和数据网状结构网络的单一信息源。
本主题介绍了将 Oracle JSON Relational Duality 视图与 GoldenGate 数据流结合使用的好处,并提供了使用 Oracle JSON Relational Duality 视图配置 GoldenGate 数据流的步骤。
将 JSON Duality Views 与 GoldenGate 数据流结合使用的优点
使用 Oracle JSON Relational Duality 和 GoldenGate Data Stream 复制业务对象对数据产品进行优先级排序,并通过确保数据对象的唯一性成为应用程序、事务处理网状结构网络、数据/事件网状结构网络和数据网状结构网络的单一信息源。
以下工作流图说明了将 JSON Duality Views 与 Oracle GoldenGate 数据流结合使用时的体系结构:

以下是使用此模型的战略优势:
-
克服阻抗不匹配:在 JSON Duality Views 中,数据仅存储在规范化表下一次(保留原子性),而应用对象使用 JSON 数据对象。这样,业务对象就可以以 JSON 对象的形式管理 Oracle JSON Duality Views 中的数据产品。Oracle GoldenGate 从 JSON Duality Views 捕获基于 JSON 的数据对象,并将事件发布到 AsyncAPI 通道,使其可用于订阅数据使用者。JSON Duality Views 与 Oracle GoldenGate 之间的集成可确保数据生产者和数据使用者的数据产品完全可用,从而解决阻抗不匹配问题。
-
可伸缩数据对象:JSON Duality Views 可提供高效的存储管理和数据一致性,因为您的应用可以原生使用 JSON 文档或在表中使用 SQL,或者同时使用两者。可以对任意数量的表声明双性视图,并且可以在同一组或重叠的关系表上定义甚至不同的双性视图。这允许应用程序开发人员以熟悉的方式管理应用程序对象,并创建复杂的数据产品,同时使用他们通常的驱动程序,框架,工具和开发方法,而数据存储在关系数据库中。
-
对事件代理进行原子更新:JSON Duality 提供比文档数据库更快的 JSON,并通过提供并行性和优化来为 OLTP 提供更好的延迟,因为数据管理是在关系级进行的,效率非常高。在 COMMIT 事件发生时,Oracle GoldenGate 数据流使用标准模式自动从数据层直接发布基于事件的业务对象。
-
使用 CDC 时符合 ACID 的数据对象:在 JSON Duality 视图中,Lock-Free Concurrency Control 可使数据对象始终保持同步,同时防止不一致和过时数据。Oracle GoldenGate Data Streams 发布基于 JSON 的可信数据产品,为所有数据使用者提供高吞吐量、更短的延迟,并确保数据产品一经可用就完全可用。
配置 JSON DV 和 JCT 时使用的参数
使用 JSON Relational Duality Views 和 JSON Collection Tables 时,需要配置以下参数。
表
由提取用于在启用逻辑复制后从 JSON Relational Duality Views 和 JSON Collection Tables 捕获更改。支持 TABLE | MAP 语句的通配符。
注:虽然 TABLE | MAP 语句支持通配符,但 ADD TRANDATA 不支持使用通配符。
TABLE HR.* 参数设置将包括 HR 下的基表和 JSON Relational Duality Views(如果提取已捕获它们),以避免用户开销。
请参阅 Oracle GoldenGate 的参数和函数参考中的 TABLE | MAP
映射
由复制用于将更改应用于目标 JSON Relational Duality Views 和 JSON Collection Tables。支持通配符。确保配置不将更改应用于 JSON DV 及其底层表,以避免重复。
KEYCOLS
JSON Relational Duality Views 和 JSON Collection Tables 不支持,因为它们具有单个预定义的键 _id。
AUTO_CAPTURE
通过启用的逻辑复制,从 JSON Relational Duality Views 和 JSON Collection Tables 捕获更改。有关详细信息,请参见 Configure the Auto Capture Mode for Extract 和 TRANLOGOPTIONS auto_capture 模式。
配置 GoldenGate 数据流和 JSON 关系二元性视图以传送更改数据
将数据流功能与 JSON Relational Duality Views 结合使用以向数据使用者提供数据传送时,需要从 Oracle AI Database 26ai 设置 JSON Relational Duality Views,然后创建提取、关联的线索文件,以及从 Oracle GoldenGate Web 界面添加数据流。
要复制到 JSON Relational Duality Views 和 JSON Collection Tables 中,可以使用 Oracle GoldenGate for Distributed Applications and Analytics MongoDB 处理程序。请参阅 Oracle GoldenGate for Distributed Applications and Analytics 指南中的 MongoDB 处理程序。
执行这些任务的步骤如下:
-
创建 JSON Relational Duality Views。
有关创建 JSON Relational Duality Views 的步骤,请参见《JSON-Relational Duality Developer’s Guide 》中的 Creating Duality Views 。
-
为 JSON Relational Duality Views 和/或 JSON Collection Tables 启用表级补充日志记录。请参阅为 JSON Relational Duality Views 和 JSON Collection Tables 启用补充日志记录。
-
在 Oracle GoldenGate 中创建提取和线索文件。
-
从 Oracle GoldenGate 分发服务添加数据流。
请参阅添加数据流。
-
将更改数据插入文档进行测试。
-
使用数据流中的更改数据。
有关设置 GoldenGate Data Streams for Duality Views 的 cURL 命令示例集,请参见 Sample Commands to Configure GoldenGate Data Streams for JSON Relational Duality Views 。