データベース基本概念

ETL・ELT いーてぃーえる・いーえるてぃー

データパイプラインデータ統合変換処理dbtFivetranデータウェアハウス
ETL・ELTについて教えて

簡単に言うとこんな感じ!

ETL・ELTは「データを移して整える作業フロー」だよ!ETLは「工場で加工してから倉庫へ」、ELTは「とりあえず倉庫に入れてから中で加工」のイメージ。複数の業務システムやSaaSのデータをDWHやデータレイクへ集めるとき必ず使う概念で、「データパイプライン」とも呼ばれるんだ!


ETL・ELTとは

**ETL(Extract・Transform・Load)とは、複数のデータソース(業務DB・SaaS・ログなど)から抽出(Extract)→変換(Transform)→格納(Load)**の順でデータを処理し、DWHやデータレイクへ投入するデータ統合プロセスです。1990〜2000年代に普及した伝統的なアプローチです。

ELT(Extract・Load・Transform)は順序が変わり、まずデータをDWH/データレイクへそのままロード(L)し、その後DWH内部で変換(T)する新しいアプローチです。クラウドDWH(BigQuery・Snowflake等)の計算能力が高くなった2010年代以降に主流化しました。変換をDWH内で行うためSQLが使いやすく、dbt(data build tool)のようなツールと相性抜群です。

ETLはデータをDWHに入れる前に整形するため「ゴミを持ち込まない」利点がありますが、変換ロジックの変更のたびに再ロードが必要という弱点があります。ELTは生データを保持できるため遡及処理(バックフィル)が容易ですが、「一旦全部入れる」ためストレージコストが増える側面もあります。


ETL vs ELT の比較

観点ETLELT
変換タイミングロード前(外部エンジン)ロード後(DWH内部)
変換場所専用ETLサーバーDWH/データレイク
生データの保持保持しない保持する(遡及可能)
変換ロジック変更再ロードが必要再クエリで対応
得意な用途プライバシー配慮・レガシー連携クラウドDWH・大量データ
代表ツールInformatica・Talend・SSISFivetran・Airbyte + dbt
ETL vs ELT フロー比較 ETL(従来型) Extract データ抽出 Transform 変換・整形 Load DWHへ格納 DWH(整形済み) そのまま分析に使える ⚠ 変換ロジック変更→再ロード 専用ETLサーバーが必要 ELT(現代型) Extract データ抽出 Load 生データ格納 Transform DWH内で変換 DWH(変換済み) SQLで柔軟に変換 ✓ 生データを保持→遡及可能 dbtでSQLベースの変換管理 現代的なELTスタック(モダンデータスタック) Fivetran/Airbyte(E+L) → Snowflake/BigQuery(ストレージ) → dbt(T) → Tableau/Looker(可視化) 各フェーズをSaaSツールで担当し、SQLエンジニアが管理できる構成

歴史と背景

  • 1970〜80年代:大型汎用機時代にデータ変換バッチ処理の概念が誕生
  • 1990年代:DWH普及に伴いInformatica・AbInitioなどの専用ETLツールが市場を形成
  • 2000年代:MicrosoftのSSIS・Oracle Data Integratorなどが企業に普及
  • 2013年:Fivetranがコネクタ型ELTサービスとして創業。SaaS連携を自動化
  • 2016年:dbtが誕生。SQLによるTransformの管理ツールとして急速に普及
  • 2019年:Airbyteがオープンソースのコネクタプラットフォームとして登場
  • 現在:「モダンデータスタック」としてFivetran/Airbyte + DWH + dbtの組み合わせが主流

主なツール比較

ツール役割特徴
FivetranE+L(コネクタ)300以上のコネクタ・フルマネージド
AirbyteE+L(コネクタ)オープンソース・カスタムコネクタ可
dbtT(変換)SQLベース・バージョン管理・テスト自動化
Apache AirflowオーケストレーションDAGによるパイプライン管理
InformaticaETL(統合)エンタープライズ向けの老舗ETLツール

関連する規格・RFC

規格・RFC番号内容
dbt Core 仕様SQLベースのTransformフレームワーク
Apache Airflow DAGワークフローをDAG(有向非巡回グラフ)で定義する仕様

関連用語