この記事ではOracle GoldenGateについて解説します。
Oracle GoldenGateとは
Oracle GoldenGateとはデータのレプリケーション(複製)を行うための製品です。
Enterprise Editionのオプション製品ではないのでStandard Editionでも使用できます。
GoldenGateはOracle Database以外の主要なデータベースにも対応しており、異なるデータベース同士でもデータ連携ができます。
また、バージョン間が異なるDB同士でもデータ連携を行うことができるため、DBのバージョンアップツールとしても利用されています。
GoldenGateのプロセス
GoldenGateは下記のプロセスが動作することによってデータ連携を行っています。
・Caputureプロセス
ソースDBから連携する情報を抽出するプロセスです。
抽出したデータは「trailファイル」と呼ばれるGoldenGate用の中間データファイルとして出力されます。
・DataPumpプロセス
ソースDBに生成されたtrailファイルをターゲットDBに送信するプロセスです。
Export/Importに使用されるツールである「DataPump」とは名前が同じですが全くの別物になります。
・Colletctorプロセス
DataPumpプロセスから送信されたtrailファイルを受信し、ターゲット側のtrailファイルに出力するプロセスです。
・Replicatプロセス
ターゲットのtrailファイルの情報をターゲットDBに反映するプロセスです。
・Managerプロセス
GoldenGate全体の管理、監視を行うプロセスです。
ソースDB、ターゲットDBの両方で起動するプロセスです。
Data Guardとの比較
Oracle DatabaseにはレプリケーションツールとしてData Guardも存在します。
Data Guardに対してGoldenGateの利点は以下のようなものがあります。
・Active/Activeの構成をとることができる
Data GuardではActive/Standbyの構成しかとることはできませんが、GoldenGateではActive/Active構成でのリアルタイム同期を実現できます。
また、双方向のレプリケーションも可能です。
・レプリケーションの対象を指定できる
Data GuardはDB全体のレプリケーションしか行えませんが、GoldenGateではテーブル単位などレプリケーション対象を制限することもできます。
Data Guardに比べて柔軟な構成を組むことができるのがメリットになります。