Skip to content
Latchkey

ELTとは?Extract, Load, Transform の解説

ELTはExtract, Load, Transformの略です。生データをまずウェアハウスにロードし、その後ウェアハウスエンジンを使ってその場で変換します。

ELTは、クラシックなETLのステップを並べ替えて、モダンなクラウドウェアハウスに適合させたものです。ロードする前にデータを変換するのではなく、ELTは生データを強力なウェアハウスに直接ロードし、SQLやdbtのようなツールを使ってそこで変換を実行します。

ELTとは何か

ELTはソースからデータを抽出し、生のままウェアハウスにロードし、その後ウェアハウス内で変換します。変換ステップはスケーラブルなクラウドコンピューティングに対してSQLとして実行されるため、別個の処理層ではなくウェアハウスが重い処理を担います。

なぜ順序が変わったのか

クラウドウェアハウスによってコンピューティングが安価で伸縮自在になったため、すべてを生のままロードしてオンデマンドで変換することが現実的になりました。これにより、要件が変わった場合の再処理のために生データを利用可能な状態に保ちつつ、アナリストが別個のエンジンなしでSQLで変換を構築できるようになります。

dbtの役割

ELTはdbtのようなツールを普及させました。dbtは変換ステップを、ウェアハウス内で依存順にビルドされる、バージョン管理されテストされたSQLモデルとして管理します。extractとloadのステップは、多くの場合FivetranやAirbyteのようなコネクタツールが担当します。

CIにおけるELT

変換はバージョン管理下のSQLモデルであるため、CIはマージ前に一時的なスキーマに対してそれらをビルドおよびテストできます。

Testing ELT transformations in CI
steps:
  - run: dbt build --select state:modified+ --target ci
  - run: dbt test --target ci

Latchkeyに関する注記

ELTのCIジョブはコンピューティング依存ではなく、SQL中心でネットワーク依存です。Latchkeyでは、auto-retryにより長時間のdbtビルドがウェアハウス接続の一時的な不具合を乗り越えられ、ツールチェーンをキャッシュすることでこれらの頻繁なpull requestジョブが素早く起動し続けます。

重要なポイント

  • ELTは生データをまずウェアハウスにロードし、その後ウェアハウスエンジンでその場で変換します。
  • 安価で伸縮自在なクラウドコンピューティングにより、生データのロードとオンデマンドの変換が現実的になりました。
  • 変換はバージョン管理されたSQLモデルとして存在し、マージ前にCIでビルドおよびテストされます。

関連ガイド