ELT

Extract, Load, Transform

ELTとは

ELT(Extract, Load, Transform)とは、データソースからデータを抽出(Extract)し、まず目的のストレージに読み込み(Load)、その後にストレージ上で変換(Transform)を行うデータ統合手法です。従来のETLとは変換と読み込みの順序が逆転しています。

表:ELTの要点まとめ
ひとことで言うと先に生データを格納し、後から必要に応じて変換する処理方式。
何がうれしいかクラウドDWHの計算力を活かせ、後から変換ルールを変えられる。
注意点生データを大量に保持するため、保管コストが増える。

ELTが普及した背景

クラウドデータウェアハウス(BigQuery、Snowflake、Redshiftなど)の登場により、大規模データに対する変換処理をストレージ側で高速に実行できるようになりました。これにより、先にデータを読み込んでから変換するELTアプローチのメリットが増大しました。

図:ETLとELTの違い
1ETL:変換してから格納入れる前に整える
▶
2ELT:格納してから変換まず全部入れる
▶
3クラウドの計算力を活用DWH側で処理
▶
4後から変換を変えられるやり直しがきく

ETLとの比較

ETLでは中間サーバーで変換処理を行うため、処理能力がボトルネックになりがちです。一方ELTでは、スケーラブルなクラウド基盤上で変換を行うため、大量データの処理に適しています。また、生データをそのまま保持できるため、後から異なる変換を適用する柔軟性も得られます。

ELTの代表的なツール

ELTの実現にはFivetranやAirbyte(データ抽出・読み込み)とdbt(データ変換)の組み合わせが広く使われています。dbtはSQLベースで変換ロジックを記述でき、バージョン管理やテストの仕組みも備えています。