Oracle JSONリレーショナル二面性およびGoldenGateデータ・ストリームを使用したビジネス・オブジェクトのレプリケート

Oracle GoldenGate 23aiでは、イベントベースのpub/subアーキテクチャでフル機能のビジネス・オブジェクトのレプリケーションが導入されました。これは、Oracle DatabaseのJSONリレーショナル二面性ビューとOracle GoldenGateデータ・ストリームの2つの新しいOracleテクノロジ機能を組み合せることで実装されます。

Oracle Database 23aiのJSONリレーショナル二面性ビューを使用すると、開発者はJSONドキュメント・モデルとしてリレーショナル・データを簡単に使用できます。これにより、JSONドキュメントの利点とリレーショナル・モデルの利点が組み合され、それぞれの制限が回避されます。Oracle JSONリレーショナル二面性ビューは、基本的に、JSONデータを構造化されたリレーショナル形式で表示するSQLビューです。

Oracle JSONリレーショナル二面性およびGoldenGateデータ・ストリームによるビジネス・オブジェクトのレプリケートは、データ生成物に優先順位を付け、データ・オブジェクトの一意性を確保することで、アプリケーション、トランザクション・ファブリック、データ/イベント・メッシュおよびデータ・ファブリックの信頼できる唯一の情報源になります。

このトピックでは、GoldenGateデータ・ストリームでOracle JSONリレーショナル二面性ビューを使用する利点と、Oracle JSONリレーショナル二面性ビューにGoldenGateデータ・ストリームを構成するステップについて説明します。

GoldenGateデータ・ストリームでJSON二面性ビューを使用する利点

Oracle JSONリレーショナル二面性およびGoldenGateデータ・ストリームによるビジネス・オブジェクトのレプリケートは、データ生成物に優先順位を付け、データ・オブジェクトの一意性を確保することで、アプリケーション、トランザクション・ファブリック、データ/イベント・メッシュおよびデータ・ファブリックの信頼できる唯一の情報源になります。

次のワークフロー図は、Oracle GoldenGateデータ・ストリームでJSON二面性ビューを使用する場合のアーキテクチャを示しています。


Oracle JSONリレーショナル二面性およびGoldenGateデータ・ストリームを使用してビジネス・オブジェクトをレプリケートすると、リレーショナル、ドキュメント、チェンジ・データ・キャプチャおよびAsyncAPI機能を最大限に活用できます。

このモデルを使用する戦略的な利点は次のとおりです:
  • インピーダンス・ミスマッチの克服: JSON二面性ビューでは、データは正規化された表(原子性の維持)に1回のみ格納され、アプリケーション・オブジェクトはJSONデータ・オブジェクトと連携します。このように、ビジネス・オブジェクトは、Oracle JSON二面性ビューでJSONオブジェクトの形式でデータ生成物を管理します。Oracle GoldenGateは、JSON二面性ビューからJSONベースのデータ・オブジェクトを取得し、イベントをAsyncAPIチャネルに公開して、データ・コンシューマをサブスクライブできるようにします。JSON二面性ビューとOracle GoldenGateの統合は、データ・プロデューサとデータ・コンシューマの両方でデータ生成物が1回のみ使用可能であることを保証することで、インピーダンス・ミスマッチに対処します。

  • スケーラブルなデータ・オブジェクト: JSON二面性ビューでは、アプリケーションがJSONドキュメントまたは表に対するSQL (あるいはその両方)でネイティブに同時に動作できるため、効率的なストレージ管理とデータの一貫性が提供されます。二面性ビューは任意の数の表に対して宣言でき、さらに異なる二面性ビューを同じリレーショナル表または重複するリレーショナル表のセットに定義することもできます。これにより、アプリケーション開発者は使い慣れた方法でアプリケーション・オブジェクトを管理し、通常のドライバ、フレームワーク、ツールおよび開発方法を使用しながら複雑なデータ生成物を作成でき、データはリレーショナル・データベースに格納されます。

  • イベント・ブローカに対するアトミックな更新: JSON二面性は、ドキュメント・データベースよりも高速なJSONを提供し、並列性と最適化を提供することでOLTPのレイテンシを向上させます。これは、データ管理が非常に高い効率でリレーショナル・レベルで行われるためです。Oracle GoldenGateのデータ・ストリームは、イベントベースのビジネス・オブジェクトの公開をデータ層から直接自動化します。これはCOMMITイベントが発生すると同時にリアルタイムで標準パターンを使用して行われます。

  • CDCを使用したACID準拠のデータ・オブジェクト: JSON二面性ビューでは、ロックフリー同時実行制御によって、データ・オブジェクトが常に同期され、不整合と失効データの両方が回避されます。Oracle GoldenGateのデータ・ストリームは、信頼できるJSONベースのデータ生成物を高スループットで公開して、レイテンシを削減し、すべてのデータ・コンシューマでデータ生成物が1回のみ使用可能であることを保証します。

JSON DVおよびJCTの構成時に使用されるパラメータ

JSONリレーショナル二面性ビューおよびJSONコレクション表を使用する場合は、次のパラメータを構成する必要があります。
TABLE
論理レプリケーションを有効にした後に、JSONリレーショナル二面性ビューおよびJSONコレクション表から変更を取得するためにExtractで使用されます。TABLE/MAP文では、ワイルドカードがサポートされています。

ノート:

TABLE/MAP文ではワイルドカードがサポートされていますが、ADD TRANDATAではワイルドカードの使用はサポートされていません。

ユーザー・オーバーヘッドを回避するために、HRの下に実表およびJSONリレーショナル二面性ビューがすでにExtractによって取得されている場合、TABLE HR.*パラメータ設定にはそれらが含まれています。

Oracle GoldenGateパラメータおよび機能リファレンスTABLE | MAPを参照してください

MAP

ReplicatでターゲットのJSONリレーショナル二面性ビューおよびJSONコレクション表に変更を適用するために使用されます。ワイルドカードがサポートされています。重複を避けるために、構成でJSON DVとその基礎となる表の両方に変更を適用しないようにしてください。

KEYCOLS
JSONリレーショナル二面性ビューおよびJSONコレクション表には1つの事前定義済キー_idがあるため、サポートされていません。
AUTO_CAPTURE

論理レプリケーションが有効なJSONリレーショナル二面性ビューおよびJSONコレクション表から変更を取得します。詳細は、「Extractの自動キャプチャ・モードの構成」およびTRANLOGOPTIONS auto_captureモードを参照してください。

変更データを配信するためのGoldenGateデータ・ストリームおよびJSONリレーショナル二面性ビューの構成

データ・ストリームの機能をJSONリレーショナル二面性ビューと組み合せて、データ・プロデューサからデータ・コンシューマへのデータ配信を提供する場合、Oracle Database 23aiからJSONリレーショナル二面性ビューを設定してから、Extractおよび関連付けられた証跡ファイルを作成し、Oracle GoldenGate Webインタフェースからデータ・ストリームを追加する必要があります。これらのタスクを実行するステップは次のとおりです:

  1. JSONリレーショナル二面性ビューを作成します。

    JSONリレーショナル二面性ビューを作成するステップは、『JSONリレーショナル二面性開発者ガイド』二面性ビューの作成を参照してください。

  2. JSONリレーショナル二面性ビューまたはJSONコレクション表(あるいはその両方)に対して表レベルのサプリメンタル・ロギングを有効にします。「JSONリレーショナル二面性ビューおよびJSONコレクション表のサプリメンタル・ロギングの有効化」を参照してください。

  3. Oracle GoldenGateにExtractおよび証跡ファイルを作成します。

    「オンラインExtractの追加」および「証跡の追加」を参照してください。

  4. Oracle GoldenGateの分散サービスからデータ・ストリームを追加します。

    「データ・ストリームの追加」を参照してください。

  5. テストのために変更データをドキュメントに挿入します。

  6. データ・ストリームからの変更データを使用します。

二面性ビューのGoldenGateデータ・ストリームを設定するcURLコマンドの例については、「JSONリレーショナル二面性ビューのGoldenGateデータ・ストリームを構成するためのコマンド例」を参照してください。