Oracle GoldenGate 12c Release 3の新機能「Parallel Replicat」徹底解説|特徴・パラメータ・設定手順
Parallel Replicatは、Oracle GoldenGate 12c Release 3(12.3.0.1)で導入された注目の新機能の一つです。複数の並列マッパーとスレッドを活用することで、ターゲット環境へのデータ適用を大幅に高速化できるよう設計されています。本記事では、Parallel Replicatの仕組み、アーキテクチャ、主要パラメータ、そして実際の設定手順までをわかりやすく解説します。
Parallel Replicatとは?
Parallel Replicatは、Oracleデータベース向けの高度にスケーラブルな適用(アプライ)エンジンです。適用ワークロードを自動的に並列化しながら、トランザクション間の依存関係を確実に考慮します。依存関係の計算と並列処理をデータベースの外部で実行することで、従来のIntegrated Replicatが持つメリットをすべて提供します。
具体的には、トレイルファイルの読み取りとマッピングを並列化し、大規模トランザクションを迅速に適用する能力を備えています。依存関係の計算、マッピングの並列化、適用処理はすべてデータベース外部で実行されるため、これらの負荷を別のサーバーへオフロードすることも可能です。もちろん、この過程でもトランザクションの整合性は厳密に維持されます。
さらに、SPLIT_TRANS_RECSパラメータを使用すれば、大きなトランザクションを論理的に小さな単位へ分割し、並列で適用できます。この場合も、分割された単位間の依存関係は適切に管理・維持されます。
並列レプリケーションのアーキテクチャ
次の図は、Parallel Replicatのアーキテクチャを示したものです。

このアーキテクチャは、単一のトレイルファイルの読み取りから始まりますが、その先には読み取り(マッパー)と書き込み(アプライヤー)のための複数のレーンを持つ「広い道路」が用意されているイメージです。Parallel Replicatは、主キー(PK)、外部キー(FK)、一意キー(UK)といったキーの依存関係に基づいて、すべてのトランザクションが正しく順序付けられることを保証します。依存関係の計算と書き込みがデータベース内部で行われるIntegrated Replicatとは、ここが大きく異なる点です。
また、Parallel Replicatは次のいずれかのモードで実行するよう構成できます。
- 統合モード(Integrated mode): 以前のバージョンのIntegrated Replicatと類似したモードです。ただし、Parallel Replicatの統合モードでは、リーダーとライターがデータベースの外部に配置されません。このモードでも、プロセスの管理には引き続きデータベースの内部機構が使用されます。
- 非統合モード(Non-integrated mode): このモードでもReplicatは並列で実行されますが、処理全体が完全にデータベースの外部で動作します。
Parallel Replicatの主な特長
Parallel Replicatの重要な特長は以下のとおりです。
- Integrated Replicatと比較して、最大5倍の速度を実現。
- 単一の大規模トランザクションを並列で適用するオプションを提供。
- 単一の大規模トランザクションを並列化でき、依存関係を考慮しながら高速処理が可能。
SPLIT_TRANS_RECSパラメータにより処理を制御可能。トランザクションの分割サイズ(レコード数)を指定でき、デフォルト値は100,000。
基本となるParallel Replicatのパラメータ
Parallel Replicatの動作を制御するために、次のパラメータを使用できます。
MAP_PARALLELISM:マッパーの数を構成します。トレイルファイルの読み取りに使用されるスレッド数を制御します。最小値は1、最大値は100、デフォルト値は2です。
APPLY_PARALLELISM:アプライヤーの数を構成します。変更の適用に使用されるターゲットデータベースへの接続数を制御します。デフォルト値は4です。
MIN_APPLY_PARALLELISM/MAX_APPLY_PARALLELISM:適用並列度は自動チューニングの対象です。Replicatが並列度を自動調整する範囲を定義するための最小値と最大値を設定できます。デフォルト値はありません。なお、APPLY_PARALLELISMパラメータと同時に使用しないでください。
SPLIT_TRANS_RECS:大規模トランザクションを指定サイズの断片に分割し、並列で適用することを指定します。断片間の依存関係は引き続き尊重されます。このパラメータはデフォルトで無効になっています。
adminclientを使った非統合Parallel Replicatの追加手順
adminclientを使用して非統合モードのParallel Replicatを追加するには、以下の手順を実行します。
- 次のコマンドでadminclientを起動します。
$ cd $OGG_HOME/bin $ bin> ./adminclient - Service Managerのデプロイメント(ソース側)に接続します。
adminclient> connect https://<host>:<port> deployment <deployment> as <security user> password <password> - Parallel Replicatプロセスを作成します。
adminclient> add replicat <group name>, parallel, exttrail <trail name> checkpointtable ggadmin.ggcheckpoint - パラメータファイルを編集します。
adminclient> edit params <replicat name> - Parallel Replicatプロセスを起動します。
adminclient> start replicat <replicat name>
Replicatを作成すると、関連付けられた管理サービス(Administration Service)に自動的に表示されます。また、Replicatの起動後は、リーダー(マッパー)とライター(アプライヤー)として指定したスレッド数がレポートファイルに出力されます。
パラメータファイルのサンプル
以下は、Parallel Replicatのパラメータファイルのサンプルです。
replicat REP1
userid ggadmin, password ****
INSERTUPDATES
REPERROR(1, DISCARD)
MAP_PARALLELISM 2
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 8
SPLIT_TRANS_RECS 100
MAP *.*, TARGET *.*;
まとめ
GoldenGateは、異種データベースやプラットフォーム間のレプリケーションを実現する、Oracleが誇る優れたレプリケーションツールです。Parallel Replicatの登場により、GoldenGate技術はさらに大きな強みを手に入れました。
Parallel Replicatは、トランザクションを並列に適用することでシステムパフォーマンスを向上させる、新しいタイプのReplicatです。依存関係の計算と並列処理をデータベース外部で実行しながら、Integrated Replicatのメリットをすべて提供します。すべてのトレイルファイルを並列に読み取り・マッピングし、Oracle Database 11g(11.2.0.4)以降の環境で大規模トランザクションを迅速に適用できます。大量データの初期ロードや高ボリュームなレプリケーション環境において、Parallel Replicatは非常に有力な選択肢となるでしょう。
-
データベース管理者必見!Oracle Database 19cの新機能徹底解説
Oracle® Database 19cは、数多くの新機能と改善された機能を搭載して登場しました。本記事では、データベース管理者(DBA)の業務を効率化する主要な新機能について詳しく解説します。 はじめに Oracle 19cは、Oracle Database 12cリリース2製品ファミリーにおいて長期サポートが提供される最終リリースです。Linux®、Windows®、Solaris®、HP/UX®、AIX®などの各プラットフォームに加え、Oracle Cloud上でも利用可能です。Oracle 19cは、あらゆる運用系および分析系ワークロードに対して、最高レベルのパフォーマンス、スケーラビ
-
新型iPhone 7に期待できる7つの新機能【発表直前・徹底予測】
世界待望のiPhone 7が正式発表されるまで、あと12時間を切りました。ガジェット好きやAppleファンの皆さんは、その新機能が気になって仕方がないのではないでしょうか。前世代のiPhone 6は「曲がる問題」やメモリーカードスロット非対応といった課題を抱えていましたが、それでもなお世界中を魅了してやまないのがiPhoneです。そこで本記事では、従来モデルと何が違うのか、iPhone 7に搭載される可能性が高い注目の新機能を7つご紹介します。 1. ストレージ容量の大幅アップ Appleの方針として、外部メモリーカードスロットの採用は今後もなさそうです。しかし、iPhone 7では内蔵スト