7.2 Google Cloud PlatformのBig Queryにおけるステージングおよびマージによるレプリケーション
BigQueryはGoogle Cloudが提供しているコスト効率に優れたペタバイト規模の完全管理型分析データ・ウェアハウスで、大量のデータをほぼリアルタイムで分析できます。
BigQueryイベント・ハンドラは、ステージングおよびマージ・データ・フローを使用します。
変更データはマイクロバッチの一時的な場所にステージングされ、最終的にターゲット表にマージされます。Google Cloud Storage (GCS)は、変更データのステージング領域として使用されます。GoldenGate for Big Dataは、ファイル・ライター・ハンドラによって生成されたファイルをGoogle Cloud Storageにロードし、BigQuery問合せジョブを実行してMERGE SQL
を実行します。SQL操作は、スループットを改善するためにバッチで実行されます。
これらのプロセスは、Oracle GoldenGate for Big Data Big Query Replicatプロセスによって自動的に処理されます。「Google BigQueryにおけるステージングおよびマージ」を参照してください
このトピックでは、GCP Big QueryをターゲットとするReplicatを構成および実行する方法のステップごとのプロセスについて説明します。
- 前提条件: Google Cloud PlatformのBigQueryにおけるステージングおよびマージによるReplicat、およびGoogle Cloud Storageレプリケーション
- 依存性ファイルのインストール
- Oracle GoldenGate for Big DataでのReplicatの作成
親トピック: クイックスタート
7.2.1 前提条件: Google Cloud PlatformのBigQueryにおけるステージングおよびマージによるReplicat、およびGoogle Cloud Storageレプリケーション
前述の項に記載されている前提条件とは別に、「Google Cloud PlatformのBig Queryにおけるステージングおよびマージによるレプリケーション」および「Google Cloud Storageレプリケーション」のクイックスタートに固有の前提条件は次のとおりです。
- Google Cloud Platform (GCP)アカウントの設定。
- 関連する権限を持つGoogle Cloud Platform (GCP)サービス・アカウント・キー。GCPサービス・アカウント・キーを、GoldenGate for Big Dataサーバー上のディレクトリにコピーします。
- 関連するBigQuery権限を持つGoogle Cloud Storageバケット(Google Cloud PlatformのBigQueryにおけるステージングおよびマージによるReplicat)。Google Cloud Storageレプリケーションの場合は、関連するバケット権限を持つGoogle Cloud Storageバケットを設定する必要があります。GCSバケットとBigQueryデータセットが同じ場所/リージョンにあることを確認します。
- ターゲットのBigQuery表は、Replicatを構成する前に作成できます。必要な権限が指定されている場合、Oracle GoldenGate for Big DataはターゲットのBigQuery表を自動作成できます。
7.2.2 依存性ファイルのインストール
Oracle GoldenGate for Big Dataは、レプリケーション・プロセスでクライアント・ライブラリを使用します。レプリケーション・プロセスを設定する前に、Oracle GoldenGate for Big Dataで使用可能な依存性ダウンローダ・ユーティリティを使用してこれらのライブラリをダウンロードする必要があります。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。
必要な依存性ファイルをインストールするには:
- 依存性ダウンローダのインストール場所に移動します:
GG_HOME/opt/DependencyDownloader/
。 - 必要なバージョンを指定してgcs.shとbigquery.shを実行します。
図7-1 必要なバージョンでのgcs.shおよびbigquery.shの実行
GG_HOME/opt/DependencyDownloader/dependencies
に作成されます。たとえば、/u01/app/ogg/opt/DependencyDownloader/dependencies/bigquery_1.111.10
および/u01/app/ogg/opt/DependencyDownloader/dependencies/gcs_1.113.9
です
7.2.3 Oracle GoldenGate for Big DataでのReplicatの作成
Oracle GoldenGate for Big DataでReplicatを作成するには:
- Oracle GoldenGate for Big Data UIの「管理サービス」タブで、「+」記号をクリックしてReplicatを追加します。
図7-2 「+」記号をクリックしてReplicatを追加
- Replicatのタイプを選択して、「次へ」をクリックします。
ここには、クラシックと調整済の2つの異なるReplicatタイプがあります。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。
図7-3 Replicatのタイプを選択して、「次へ」をクリックします。
- 基本情報を入力し、「次へ」をクリックします:
- プロセス名: Replicatの名前
- 証跡名: 必要な証跡ファイルの名前
- ターゲット: Google BigQueryにおけるステージングおよびマージ
図7-4 プロセス名、証跡名およびターゲット名
- 「パラメータ・ファイル」の詳細を入力し、「次へ」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定するか、ワイルドカード選択でそのままにしておくことができます。Replicatタイプとして「調整済Replicat」を選択した場合は、追加のパラメータ
TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties
を指定する必要がありますOracle GoldenGate for Big Dataを使用すると、同じReplicatを使用して複数のGCPプロジェクトに複製できます。詳細は、「BigQueryデータセットおよびGCP ProjectIdマッピング」を参照してください。
Oracle GoldenGate for Big Dataは、表スキーマ名をBigQueryデータセットにマップします。表カタログ名はGCP projectIdにマップされます。
図7-5 「パラメータ・ファイル」の詳細を指定し、「次へ」をクリックします。
- 次の画面で、
TODO
とタグ付けされたプロパティのみを更新します。パラメータは次のとおりです。 GCSバケット名を指定します:#TODO: Edit the GCS bucket name gg.eventhandler.gcs.bucketMappingTemplate=<gcs-bucket-name>
GCPサービス・アカウント・キーへのパスを指定します:#TODO: Edit the GCS credentialsFile gg.eventhandler.gcs.credentialsFile=/path/to/gcp/credentialsFile
前提条件でダウンロードした依存性jarファイルへのパスを指定します:#TODO: Edit to include the GCS Java SDK and BQ Java SDK. gg.classpath=/path/to/gcs-deps/*:/path/to/bq-deps/*
詳細は、「Google BigQueryにおけるステージングおよびマージ」を参照してください
図7-6 "TODO"とタグ付けされたプロパティを更新します。
- Replicatが正常に起動すると、実行状態になります。action/details/statisticsに移動して、レプリケーション統計を確認します:
図7-7 レプリケーション統計
図7-8 レプリケーション統計表
- GCP Big Queryコンソールに移動し、表を確認します。表の作成およびロードには、少し時間がかかる場合があります。
図7-9 問合せ結果
ノート:
- Big Query Replicatで初期ロードを実行できます。「INSERTALLRECORDSのサポート」を参照してください。
- DDLレプリケーションはサポートされていません。GGBDはターゲットGCP Big Query表のみを自動作成できます。DDLの場合、Replicatは異常終了します。