使用 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 Streams 複製業務物件會優先處理資料產品,並透過確保資料物件的唯一性,成為應用程式、交易結構、資料 / 事件具體化視觀表和資料結構的單一事實來源。
本主題涵蓋使用 Oracle JSON Relational Duality Views 搭配 GoldenGate Data Streams 的優點,並提供使用 Oracle JSON Relational Duality Views 設定 GoldenGate Data Streams 的步驟。
搭配 GoldenGate 資料串流使用 JSON 雙重性視觀表的優點
使用 Oracle JSON Relational Duality 和 GoldenGate Data Streams 複製業務物件會優先處理資料產品,並透過確保資料物件的唯一性,成為應用程式、交易結構、資料 / 事件具體化視觀表和資料結構的單一事實來源。
下列工作流程圖表說明搭配 Oracle GoldenGate 資料串流使用 JSON 雙重性視觀表時的架構:

以下為使用此模型的策略優勢:
-
即將發生的阻抗不符:在「JSON 雙重性視觀表」中,資料只會儲存在標準化表格下方 (保留原子性),而應用程式物件則使用 JSON 資料物件。如此一來,業務物件會以 JSON 物件形式管理 Oracle JSON 雙重性檢視中的資料產品。Oracle GoldenGate 會從 JSON 雙重性視觀表擷取以 JSON 為基礎的資料物件,並將事件發布至 AsyncAPI 通道,以供訂閱資料取用者使用。JSON 雙重性視觀表與 Oracle GoldenGate 之間的整合可確保資料產生器和資料取用者的資料產品完全可用性,以解決阻抗不相符的問題。
-
可擴展資料物件:JSON 雙重性視觀表可提供高效率的儲存管理和資料一致性,因為您的應用程式可以原生處理 JSON 文件或處理表格上的 SQL,或同時處理這兩個文件。「雙重性視觀表」可以在任意數目的表格上宣告,也可以在相同或重疊的一組關聯式表格上定義不同的雙重性視觀表。這可讓應用程式開發人員以熟悉的方式管理應用程式物件,並在使用一般驅動程式、架構、工具和開發方法時建立複雜的資料產品,而所有這些都將資料儲存在關聯式資料庫中。
-
事件中介的單元更新:JSON Duality 提供比文件資料庫更快的 JSON,並透過提供平行處理和最佳化,為 OLTP 提供更好的延遲,因為資料管理在關聯層級完成,效率非常高。Oracle GoldenGate Data Streams 會在發生 COMMIT 事件時,使用標準模式,直接從資料層即時自動發布事件型業務物件。
-
使用 CDC 符合 ACID 規範的資料物件:在 JSON 雙重性視觀表中,無鎖定並行控制會持續同步資料物件,同時防止資料不一致和過時。Oracle GoldenGate Data Streams 會發布可信任的 JSON 型資料產品,此產品具有高傳輸量、減少延遲,並保證所有資料取用者的資料產品一旦可用性就完全正確。
設定 JSON DV 和 JCT 時使用的參數
使用 JSON 關聯式雙重性視觀表和 JSON 集合表格時,必須設定下列參數。
表
Extract 用於在啟用邏輯複製之後,從 JSON 關聯式雙重性視觀表和 JSON 集合表格擷取變更。支援 TABLE | MAP 敘述句的萬用字元。
注意:雖然 TABLE | MAP 敘述句支援萬用字元,但 ADD TRANDATA 不支援使用萬用字元。
TABLE HR.* 參數設定將包含基本表格和 HR 底下的 JSON Relational Duality Views (如果 Extract 已經擷取),以避免使用者負荷。
請參閱 Oracle GoldenGate 的參數和函數參照中的 TABLE | MAP
地圖
Replicat 用來將變更套用至目標 JSON Relational Duality 檢視和 JSON 收集表格。支援萬用字元。請確定組態不會將變更套用至 JSON DV 及其基礎表格,以避免重複。
KEYCOLS
JSON 關聯式雙重性視觀表和 JSON 集合表格不支援,因為它們具有單一且預先定義的索引鍵 _id。
AUTO_CAPTURE
從啟用邏輯複製的 JSON 關聯式雙重性視觀表和 JSON 集合表格擷取變更。請參閱設定擷取的自動擷取模式和 TRANLOGOPTIONS auto_capture 模式,瞭解詳細資訊。
設定 GoldenGate 資料流和 JSON 關聯式雙重性視觀表以提供變更資料
當您將資料串流的功能與 JSON Relational Duality Views 結合,以提供從資料產生器傳遞至資料用戶的資料時,它需要從 Oracle AI Database 26ai 設定 JSON Relational Duality Views,然後建立 Extract、關聯的歷程檔,以及從 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 關聯式雙重性檢視。
如需建立「JSON 關聯式雙重性視觀表」的步驟,請參閱 JSON 關聯式雙重性開發人員指南中的建立雙重性視觀表。
-
啟用 JSON 關聯式雙重性視觀表和 (或) JSON 集合表格的表格層級補充日誌記錄。請參閱啟用 JSON Relational Duality Views 和 JSON Collection Tables 的補充日誌記錄。
-
在 Oracle GoldenGate 中建立 Extract 和歷程檔。
-
從 Oracle GoldenGate Distribution Service 新增資料串流。
請參閱新增資料流。
-
插入變更資料到文件中以進行測試 。
-
使用來自資料流的變更資料。
如需將設定「雙重性視觀表」之 GoldenGate 資料串流的 cURL 命令範例集,請參閱設定 GoldenGate JSON 關聯式雙重性視觀表資料串流的範例命令。