DWH に入れる前に変換する ETL と、まず生のまま入れてから DWH の中で SQL で変換する ELT。
昔は、DWH に入れる前に専用のサーバーで変換する ETL(Extract → Transform → Load)が主流でした。クラウド DWH が安く速くなった今は、まず生のまま DWH に入れて、DWH の中で SQL で変換する ELT が主流です。生のデータが残るのでやり直しがきき、SQL が書ける人なら誰でも変換に参加できます。
| ETL | ELT | |
|---|---|---|
| 変換する場所 | DWH に入れる前の専用のサーバー | DWH の中(SQL) |
| 生のデータ | 残らないことが多い | DWH に残るので、やり直せる |
| 変換を書く人 | 専用の道具を使えるエンジニア | SQL を書ける人なら誰でも |
| 向くもの | 入れる前に個人情報を落とす必要がある、DWH の計算が高い | クラウド DWH を使う今の多くの基盤 |
面接ではこう答える
ETL は DWH に入れる前に専用のサーバーで変換する方法、ELT はまず生のまま DWH に入れてから DWH の中で SQL で変換する方法です。クラウド DWH が安く速くなったので今は ELT が主流で、生のデータが残るので変換を直してやり直せ、SQL を書ける人なら誰でも変換に参加できます。ただし個人情報を DWH に入れる前に落とす必要がある場合などは、入れる前の変換も組み合わせます。
Dataとの関わり基盤の構成を説明するときの前提で、dbt を使う理由もここから説明できます。