かまたま日記3

プログラミングメイン、たまに日常

ETLとELTの違い

https://www.xplenty.com/jp/blog/etl-vs-elt-ja/

を読んでのETLとELTの違いのざっくりしたまとめ

ETL

  • Extract Transform Loadの順番で行う. ソースシステムからステージ環境にExtractして変換したものをData warehouseにLoadする流れ
  • OLAPデータウェアハウスを使う際は、構造化したデータにする必要があるので、DWHにロードする前に変換する必要がある
  • 構造をDWHに入れる前に決定する必要があるので、設計変更などがあった場合、データエンジニアの作業が発生する。SaaSも増えてきてそこのコストは低減してきている
  • 事前に処理したデータを使って分析するのでデータの信頼性、処理の高速性などに利点がある
  • DWHに入れる前にデータ処理を行っているので、GDPR個人情報保護法などコンプライアンスに関する規制に対応しやすい

ELT

  • ELTはExtract Load Transformの順番で処理を行う.
    • データレイクにためた非構造化データ *1 を含んだ雑多なデータを要件に応じて変換して使う形
  • 高性能なクラウドコンピューティング環境の登場によって生まれた概念
  • 必要なデータのみを処理するため、大量のデータがある場合でも比較的高速に処理できる *2
  • 事前に構造を定義しないといけないETLにくらべて柔軟性が高い
  • データの信頼性は低い
  • Load処理は生データをデータレイクに入れるだけなので、メンテナンス性と高速性が高い

*1:JSONファイル、画像データなど

*2:ETLは入ってくるデータ全てに処理を行わないと行けない