リバースETL
Version 23.4.8843
Version 23.4.8843
リバースETL
従来のETL(抽出、変換、ロード)処理は、分析およびレポーティング用にソースシステムから集中データストアにデータをコピーします。リバースETL はその逆で、中央リポジトリから運用システムにデータを戻します。リバースETL は、データ分析の結果を使って業務プロセスを改善し、カスタマーエクスペリエンスを向上し、意思決定を促進します。
リバースETL の基本的なプロセスは次のとおりです。
-
分析目的でデータが集計および変換された中央データウェアハウスやデータレイクから、データを抽出します。
-
抽出したデータを、システムでの利用に適した形に変換します。変換には、データの再フォーマット、フィルタリング、強化が含まれます。
-
変換されたデータを、さまざまな目的(レコードの更新やワークフローのトリガーなど)に使用可能な運用データベース、アプリケーション、またはその他のシステムにロードします。
CData Sync では、以下のデータソースでリバースETL 機能がサポートされています。
-
Microsoft SQL Server
-
Snowflake
Note:リバースETL 機能に使用できるソースデータベースは、デルタスナップショットレプリケーションタイプが実装されているデータベース(つまり、SQL EXCEPT ステートメントを許容するソースデータベース)に制限されます。
Sync では、この機能はSalesforce 同期先でのみサポートされます(この同期先で使用できるレプリケーションの種類はこれだけです)。
リバースETL 処理について
リバースETL は、データウェアハウスに変更をクエリし、そのクエリの結果を同期先に書き込むことで機能します。リバースETL ジョブを初めて実行すると、アプリケーションはデータウェアハウスのソーステーブルの初期スナップショットを作成し、その結果を同期先にロードします。以降の実行では、CData Sync が新しいスナップショットを作成し、前回のスナップショットと比較して変更を取り込みます。その後、これらの変更が同期先にロードされます。
デルタスナップショット機能を使用して、Sync は正しく挿入あるいは更新されない行を記録するエラーテーブルを保持し、行レベルで個々のエラーを確認できるようにします。この機能は、前回のスナップショットで失敗した行もクリーンアップします。
リバースETL を使用すると、データの転送方法を3つのモードから選択できます。
-
Insert - データソースに新しいレコードを挿入する場合は、このモードを選択します。Insert モードでは、ソーステーブルに一意のプライマリキーが必要です。新しいスナップショットを作成するたびに、そのキーによってCData Sync は新しい識別子(Id)を挿入していることを確認することができます。
-
Upsert - データソースの既存のレコードを更新し、新しいレコードを挿入する場合は、このモードを選択します。Upsert モードでは、ソーステーブルから同期先テーブルにレコードを一致させるキーを定義する必要があります。キーの種類は外部ID である必要があります。これにより、Sync はSalesforce のUpsert API を使用してパフォーマンスを向上させることができます。Sync は、Salesforce テーブルで定義されている外部ID のリストを生成し、そのリストからID を選択できます。
-
Update - データソースの既存のレコードを更新する場合は、このモードを選択します。Update モードは、Salesforce ID を使用してソーステーブルと同期先テーブルのレコードを一致させます。Salesforce ID にマッピングするソースカラムを選択する必要があります。
リバースETL ジョブの作成
リバースETL ジョブを作成するには、ジョブパラメータを定義し、次に必須カラムとオプションカラム、および必要なキーを以下のようにマッピングする必要があります。
-
ジョブ > ジョブを追加 > 新しいジョブを追加を選択します。この手順により、ジョブを追加ダイアログボックスが開きます。
-
ジョブ名を入力します。
-
まず同期先(Salesforce)を選択します。次に、この例に示すようにデータソースを選択します。
データソースおよび同期先を入力すると、ジョブを追加ダイアログボックスが展開し、上で示すように種類セクションと転送モードセクションが表示されます。種類セクションは、ジョブがリバースETL であることを示し、転送モードセクションでは、実行するデータ転送の種類を選択できます。転送モードについて詳しくは、リバースETL 処理についてを参照してください。
-
次へをクリックします。
-
テーブルを設定ダイアログボックスで、スキーマ、データソーステーブル、および同期先テーブルを選択します。
-
次へをクリックします。
-
マッピングを設定ダイアログボックスで、次のようにカラムとキーを設定します。
-
キーを選びます(Upsert およびUpdateモードの場合のみ)。
-
必須カラムをマッピングします。
-
必要なカラムを追加します。
-
-
ジョブを追加をクリックして、新しいジョブを作成します。ジョブが作成されると、以下に示すように、Sync のカラムマッピングタブにテーブルマッピングが表示されます。
ジョブ作成後は、次のセクションで説明するとおりジョブを管理できます。
ジョブの管理
リバースETL ジョブを追加したら、Sync のほかのジョブと同様に、ジョブページから実行および管理することができます。アプリケーションでジョブをクリックすると、Sync は標準タブ(概要、カラムマッピング、ジョブ履歴、イベント)を含むジョブページを開きます。次のセクションでは、概要タブおよびカラムマッピングタブで、リバースETL ジョブの設定とマッピングを管理する方法について説明します。
概要タブ
このタブは、ジョブの種類や転送モードなど、設定の概要を表示します。以下の例は、ジョブの種類がリバースETL、転送モードがInsertMode です。
設定を編集するには、編集ボタンをクリックします。設定を編集ダイアログボックスで行うことができる唯一の変更は、ログファイルに対して異なる詳細レベルを選択することです。
カラムマッピングタブ
先述したように、新しいジョブを追加すると、Sync は自動的にカラムマッピングタブを開きます。このページには、必須カラムとオプションカラムの両方に関する、データソースとSalesforce 同期先間のマッピングが表示されます。さらに、このページにはUpsert モードとUpdate モードの両方のキーのマッピングが表示されます。
マッピングとテーブルの両方を編集できます。
マッピングを編集するには:
-
編集 > マッピングを編集を選択します。
-
新しいカラムを追加するか、必要なカラムとキーを変更します。
-
保存をクリックして変更を保存し、カラムマッピングページに戻ります。
ソーステーブルまたは同期先テーブルを編集するには:
-
編集 > テーブルを編集を選択します。これにより、テーブルを編集ダイアログボックスに戻ります。
-
ソーステーブルまたは同期先テーブルを更新します。変更を行った場合は、ジョブのカラムマッピングを再構築する必要があります。
-
保存をクリックして変更を保存し、カラムマッピングページに戻ります。