In-Flight (ETL)

Version 26.1.9516


In-Flight (ETL)


ETL(Extract(抽出)、Transform(変換)、Load(ロード)は、同期先への移行前にデータを移動して、in-flight(処理の途中で)変換するデータ抽出の手法です。

ETL とELT の違い

これまで、ETL はデータを移動、変換する上で最も人気のある手法でした。しかし、クラウドコンピューティングの隆盛とデータストレージの大幅な増大で、データ転送と変換の手法としては、徐々にETL の人気をELT(Extra(抽出)、Load(ロード)、Transform(変換))が上回りつつあります。

ETL とELT の主な違いは、手順を実行する順序です。ただし、ELT にはそれ以外の利点もあります。

  • パフォーマンス:現代のデータベースには膨大なストレージが備わっているため、ELT は変更を実装する前に更新されたデータをすべて移動することができます。データを事前に整形したり加工する必要がないので、これまでのETL の手法と比べて変換のスピードや効率が大幅に上昇します。

  • シンプルさ:大量のデータを移動する必要がある際には、ELT は変換処理をストリーム化してシンプルにします。

それでも、同期先に転送する前にデータを加工しておきたい状況は存在します。こうしたケースでは、CData Sync は変換を容易に実行できます。

同期先テーブルの選択または作成

タスクを設定する際、Sync ではドロップダウンリストからテーブルを選択するか、Sync が新しいテーブルを作成するために使用する新しいテーブル名を入力できます。

新しいテーブルを選択するには:

  1. ジョブのタスクタブに移動します。

  2. 変更したいテーブルを選択します。

  3. テーブルの概要タブで、同期先情報カテゴリの編集アイコン()をクリックします。同期先情報ダイアログボックスが開きます。

  4. テーブル名の横にある選択リストの矢印をクリックし、利用可能なテーブルのリストからテーブルを選択します。

  5. 保存をクリックして選択したテーブルを保存し、ダイアログボックスを終了します。

テーブルを選択すると、Sync は一致するカラム名に基づいてカラムのマッピングを自動的に生成します。カラムタブで手動で調整できます。

新しいテーブルを作成するには:

  1. ジョブのタスクタブに移動します。

  2. 変更したいテーブルを選択します。

  3. テーブルの概要タブで、同期先情報カテゴリの編集アイコン()をクリックします。同期先情報ダイアログボックスが開きます。

  4. テーブル名の横にある選択リストの矢印をクリックし、検索または手入力で新規テーブルを作成テキストボックスに、作成するテーブルの名前を入力します。

テーブルを選択すると、Sync は一致するカラム名に基づいてカラムのマッピングを自動的に生成します。カラムタブで手動で調整できます。

カラムのマッピング

カラムタブでは、データソーステーブルから取得するデータと、そのデータをターゲットテーブルでどのように表示するかについて制御できます。ここから、カラムマッピングの削除または調整、同期先カラム名の変更、データソースへの変換の適用、その他が可能です。次のセクションで説明します。

カラム名の変更

カラム名を変更するには:

  1. タスクを選択します。次に… > 編集を選択します。

  2. カラムタブをクリックします。次にマッピングを編集をクリックします。

  3. 編集するカラム行を選択します。次に… > 同期先を編集を選択します。

  4. 同期先カラムを編集ダイアログボックスでカラム名を編集し、完了をクリックします。

SQL Transformation の適用

SQL Transformation を適用するには:

  1. タスクを選択します。次に… > 編集を選択します。

  2. カラムタブをクリックします。次にマッピングを編集をクリックします。

  3. カラム行を選択します。次に… > 変換を適用を選択して変換元ダイアログボックスを開きます。ダイアログボックスでは、選択したカラムがSQL Transformation をデータソースデータに適用します下のテキストボックスにリストされます。

  4. SQL Transformation を適用ボタンをクリックして、以下の変換から選択します:

    • MASK()—指定されたカラムの文字をアスタリスクに置き換えてマスク。マスキングについて詳しくは、個人情報のマスキングを参照してください。

    • TRIM()—先頭と末尾のスペース、または指定された文字列を文字列から削除。

    • ISNULL()もし式がNULL の場合、指定された値を返す。それ以外の場合は、式が返されます。

    • UPPER()—テキストを大文字に変換。

    • LOWER()—テキストを小文字に変換。

    • HASHBYTES()—カラム値をハッシュに変換。HASHBYTES() SQL 関数を使用すると、レプリケーション中にカラムの値をハッシュできます。この変換は、データが同期先に書き込まれる前に、主キーや個人識別情報(PII)などの機密データを保護するのに役立ちます。この関数は、複数のハッシュアルゴリズム(MD5、SHA1、SHA2_256、SHA2_512、SHA3_224、SHA3_256、SHA3_384、SHA3_512)をサポートしています。

      次の例は、SHA2_256 アルゴリズムを使用して、主キーaccountidHASHBYTES() 変換を適用する方法を示しています。

      HASHBYTE() 関数は、選択したアルゴリズムを使用して、入力値のハッシュをバイト配列として返します。

    Note:データ変換テキストボックスでカラム名の周りにSQL 関数を手動で入力することで、変換を作成することもできます。例えば、name というカラムの周りにMASK() 関数を入力する場合、次の例のように記述します:

    MASK([name], '*')

  5. 完了をクリックして選択内容を保存します。

カラムの追加

同期先テーブルにカラムを追加するには:

  1. カラム行を選択して、行末にある編集アイコンをクリックします。

  2. カラムタブをクリックします。次にマッピングを編集をクリックします。

  3. 追加アイコン(+)をクリックしてカラムを追加ダイアログボックスを開きます。

  4. データソースと同期先のカラム名を追加します。次にカラムを追加をクリックします。

カラムの削除

カラムを削除するには、削除したい行の左側にあるチェックボックスをOFF にします。その行は非アクティブになり、カラムがクエリから削除されてレプリケートされないことを示します。