Extractについて

Extractプロセスは、ソース・データベースに対して実行するように構成されており、他の場所にある実際のソース・データベースで生成されたデータを取得します。このプロセスは、Oracle GoldenGateの抽出すなわちデータ取得メカニズムです。

Extractは次のユースケースにあわせて構成できます。

  • 初期ロード: Oracle GoldenGateを初期ロード用に設定すると、Extractプロセスは、現在の静的なデータ・セットをソース・オブジェクトから直接取得します。この構成のExtractプロセスでは、ソース表をソースとして使用してデータを取得します。「管理クライアントを使用した初期ロードExtractの追加」を参照してください。

  • オンラインExtract (変更同期): ソース・データと別のデータセットとの同期を維持するようにOracle GoldenGateを設定すると、Extractプロセスは、初期同期が行われた後で、構成されたオブジェクトに対して実行されたDML操作およびDDL操作を取得します。Extractは、データベースと同じサーバーでローカル(アップストリーム)に実行することも、オーバーヘッドを減らすためにダウンストリーム統合Extract (Oracleデータベースの場合)を使用して別のサーバーで実行することもできます。操作が含まれるトランザクションのコミット・レコードまたはロールバックを受信するまで、それらの操作を格納します。ロールバックを受信すると、そのトランザクションの操作を破棄します。コミットを受信すると、トランザクションはディスク上の証跡と呼ばれる一連のファイルに永続化され、ターゲット・システムへの伝播を待つキューに入ります。各トランザクションのすべての操作は、順次編成されたトランザクション単位として、データベースにコミットされた順序(コミット順序)で証跡に書き込まれます。この設計によって、処理速度とデータ整合性の両方が保証されます。この構成のExtractプロセスでは、データベース・リカバリ・ログまたはトランザクション・ログがデータ・ソースとして使用されます。ログから取得する場合、実際の方法はデータベース・タイプに応じて異なります。このソース・タイプの例は、サプリメンタル・ロギングに使用されるOracleデータベースのREDOログです。

ノート:

Extractでは、Extract構成に存在しないオブジェクトに対する操作は無視されます。この動作は、Extract構成に存在するオブジェクトに対する操作もそのトランザクションに含まれている場合にも同様です。

リモート・デプロイメントの場合、ソース・データベースとOracle GoldenGateは個別のサーバーにインストールされます。リモート・デプロイメントは、PostgreSQL用のAzureやAmazon Aurora PostgreSQLなどのクラウド・データベースをサポートするために使用できる唯一のオプションです。

リモート・デプロイメントの場合、データベース・サーバーとOracle GoldenGateサーバーの間のオペレーティング・システムのendiannessは同じである必要があります。

Oracle GoldenGateサーバーのサーバー時間とタイムゾーンは、データベース・サーバーのものと同期されている必要があります。このことが可能でない場合は、Extractが作成または変更されたとき、その配置がLSNによって実行される必要があります。

リモート取得のユースケースでは、SQLEXECを使用すると、レイテンシが増加することがあります。これは、SQLEXEC操作は、Extractによって処理されるレコードごとに順次実行する必要があるためです。SQLEXECを必要とする特別なフィルタリングがリモート・ハブExtractで実行され、パフォーマンスへの影響が大きすぎる場合は、Extractプロセスをソース・データベースに近づけることが必要になる場合があります。

リモート・デプロイメントではネットワーク・レイテンシが低いことが重要となり、Oracle GoldenGateサーバーとソース・データベース・サーバーの間のネットワーク・レイテンシを1ミリ秒未満にすることをお薦めします。