8.2 Oracle GoldenGate for Distributed Applications and Analyticsによるスノーフレークへのリアルタイム・データ取込み

概要

このクイックスタートでは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用してスノーフレークにリアルタイム・データを取り込む方法を手順を追って説明します。

スノーフレークは、データの格納、処理および分析のための完全管理型サービスを提供するクラウドベースのデータ・ウェアハウス・プラットフォームです。

GG for DAAのスノーフレーク・ハンドラでは、ステージングおよびマージのデータ・フローが使用されます。外部ステージング・オプションと内部ステージング・オプションの両方がサポートされています。

ステージングおよびマージでは、変更データがマイクロバッチで一時的な場所にステージングされ、最終的にターゲット表にマージされます。外部ステージングが選択されている場合、ストレージの場所は、クラウド・プロバイダのクラウド・ストレージ・サービス(Azure Storage for Azure、S3 for AWSおよびCloud Storage for GCP)です。内部ステージングが選択されている場合、外部ストレージの場所は必要ありません。

すべてのレプリケーション・プロセスは、スノーフレーク・ステージングおよびマージ・ハンドラによって自動的に処理されます。

このクイックスタートでは、内部ステージングの手順を説明します。外部ステージングには、ストレージ・サービスとスノーフレーク・ストレージの統合が必要です。

8.2.1 内部ステージングの前提条件

  • スノーフレーク・アカウント。
  • スノーフレークでのターゲット・スキーマおよびデータベース
  • スノーフレーク・アクセス用のJDBC URL。
  • スノーフレークのユーザー名/パスワード

このクイックスタートでは、GG for DAAに付属のサンプル証跡ファイル(trという名前)を使用します。サンプル証跡ファイルは、GG for DAAインスタンスのGG_HOME/opt/AdapterExamples/trail/にあります。

GG for DAAにより、ターゲットのスノーフレーク表が自動的に作成されます。

8.2.2 依存性ファイルのインストール

Oracle GoldenGate for Distributed Applications and Analyitics (GG for DAA)では、スノーフレークによって提供されるJava SDKが使用されます。それらのSDKは、GG for DAAに付属の依存性ダウンローダ・ユーティリティを使用してダウンロードできます。依存性ダウンローダは、Mavenおよび他のリポジトリから依存性jarファイルをダウンロードするシェル・スクリプトのセットです。

必要な依存性ファイルをインストールするには:

  1. VM用GoldenGateで、依存性ダウンローダ・ユーティリティに移動します。それはGG_HOME/opt/DependencyDownloader/にあります。snowflake.shを見つけてください。
  2. 必要なバージョンを指定してsnowflake.shを実行します。バージョンおよび報告されている脆弱性は、https://mvnrepository.com/artifact/net.snowflake/snowflake-jdbcで確認できます。このドキュメントでは、このクイックスタートの公開時の最新バージョンである3.15.0を使用しています。

    図8-1 スノーフレークの取込み - 依存性のインストール

    スノーフレークの取込み - 依存性のインストール
  3. 新しいディレクトリが、GG_HOME/opt/DependencyDownloader/dependenciesに、<snowflake_version>という名前で作成されます。Replicatのプロパティで使用するため、このディレクトリを書き留めてください。次に例を示します: /u01/app/ogg/opt/DependencyDownloader/dependencies/snowflake_3.15.0

    図8-2 スノーフレークjarの新しいディレクトリ

    スノーフレークjarの新しいディレクトリ

8.2.3 資格証明ストア・エントリの作成

スノーフレークのユーザー名とパスワードを保護するための資格証明ストア・エントリを作成するには:

  1. 「管理サービス」で、「DB接続」「DB接続の追加」の順にクリックします。
  2. 「データベース」で、「資格証明の追加」をクリックします。
  3. 次の詳細を指定します。
    • 資格証明ドメイン: 任意のドメイン名
    • 資格証明別名: 任意の別名
    • ユーザーID: スノーフレークのユーザー名
    • パスワード: スノーフレークのパスワード
    • パスワードの確認: スノーフレークのパスワード

    図8-3 資格証明エントリの作成

    資格証明エントリの作成

8.2.4 Oracle GoldenGate for Distributed Applications and AnalyticsでのReplicatの作成

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)でReplicatを作成するには:

  1. Oracle GoldenGate for Distributed Applications and Analytics UIの「管理サービス」タブで、「+」記号をクリックしてReplicatを追加します。

    図8-4 「管理サービス」タブの「+」をクリックします。

    「管理サービス」タブの「+」をクリックします。
  2. 「Replicatタイプ」で「クラシックReplicat」を選択し、「次」をクリックします。クラシックと調整済という2つの異なるReplicatタイプを使用できます。クラシックReplicatは単一のスレッド・プロセスですが、調整済Replicatは、トランザクションをパラレルに適用するマルチスレッド・プロセスです。

    図8-5 Replicatの追加

    Replicatの追加
  3. 基本情報を入力し、「次へ」をクリックします:
    1. トレイル名: 必要な証跡ファイルの名前(サンプル証跡を使用している場合は、trと指定します)
    2. サブディレクトリ: サンプル証跡を使用する場合は、GG_HOME/opt/AdapterExamples/trail/と指定します。
    3. ターゲット: スノーフレーク・データ・ウェアハウス

    図8-6 「Replicatの追加」 - 「Replicatオプション」

    「Replicatの追加」 - 「Replicatオプション」 - 「外部オブジェクト・ストレージを使用したステージングおよびマージ」は、このクイックスタートでは内部ステージングを使用するため選択しません。
  4. 「管理対象オプション」はそのままにして、「次」をクリックします。
  5. 「パラメータ・ファイル」の詳細を入力し、「次へ」をクリックします。「パラメータ・ファイル」では、ソースからターゲットへのマッピングを指定できます。サンプル証跡ファイル(tr)を使用している場合は、次のように入力します: MAP QASOURCE.*, TARGET <your_schema_name>.*;

    「Replicatタイプ」として「調整済Replicat」を選択した場合は、さらに次のパラメータを指定する必要があります:

    TARGETDB LIBFILE libggjava.so SET property=<ggbd-deployment_home>/etc/conf/ogg/your_replicat_name.properties

    図8-7 パラメータの詳細の入力

    パラメータの詳細を入力します。
  6. 次の画面で、TO DOとタグ付けされているプロパティのみを更新し、「作成」をクリックします。

    スノーフレークJDBC URLを編集します:
    #TODO: Edit JDBC ConnectionUrl
    gg.eventhandler.snowflake.connectionURL=jdbc:snowflake://<account_name>.snowflakecomputing.com/?<connection_params>
    
    スノーフレークのユーザー名とパスワードを編集します:
    #TODO: Edit JDBC user name with alias and domain from step 2.
    gg.eventhandler.snowflake.UserName=ORACLEWALLETUSERNAME [alias domain] 
    #TODO: Edit JDBC password with alias and domain from step 2.
    gg.eventhandler.snowflake.Password=ORACLEWALLETPASSWORD [alias domain]
    
    前提条件でダウンロードした依存性jarファイルへのパスを指定します:
    #TODO: Edit to include the GCS Java SDK and BQ Java SDK.
    gg.classpath=/path/to/Snowflake-dependencies/*	
    

    図8-8 プロパティ・ファイル

    プロパティ・ファイル
    Replicat構成の詳細は、「BigQueryハンドラ構成の理解」を参照してください。
  7. Replicatが正常に起動すると、実行状態になります。「アクション」/「詳細」/「統計」に移動して、レプリケーション統計を確認できます。

    図8-9 Replicatの統計

    Replicatの統計

    図8-10 Replicatの「表統計」

    Replicatの「表統計」
  8. スノーフレークに移動して表を確認できます。表の作成およびロードには、少し時間がかかる場合があります。

ノート: