メインコンテンツへジャンプ

ETL:抽出・変換・格納

Databricks 無料トライアル

Delta Live Tables
Delta Live Tables(DLT)は、データパイプラインの構築と管理を容易にし、信頼性を向上させて Delta Lake に高品質データをもたらします。

 

 

ETL とは

ETL とは Extract(抽出)、Transform(変換)、Load(ロード)の頭文字をとった略語です。ETL は、さまざまなソースからデータを抽出し、取り扱いやすい形にデータを変換し、DWH などのデータシステムに書き出すプロセスです。これにより、ダウンストリームでビジネス上の問題解決にデータを活用できるようになります。

ETL と ELT の違い

ETL と ELT は、どちらも複数のデータソースから、1 つのソースにデータを転送するデータ処理のプロセスです。両者の大きな違いは、データ変換のタイミングにあります。ETL では、データを格納する前にデータを変換するのに対し、ELT では、データストアで直接データ変換を行います。

ETL の機能とプロセス

ETL は、データの抽出機能、データ変換機能、データ格納機能といった 3 つの機能を備えています。

抽出(Extract)

最初のステップは、業務システム、API、センサーデータ、マーケティングツール、トランザクションデータベースなど、通常は異種混在のさまざまなソースからのデータの抽出です。ご存じのとおり、これらのデータタイプには、広く使用されているシステムの構造化された出力である可能性が高いものもあれば、半構造化された JSON サーバーログである可能性もあります。

変換(Transform)

次のステップは、ソースから抽出された未加工のデータを異なるアプリケーションで使用できる形式への変換です。運用上のニーズを満たすために、データのクレンジング、マッピング、変換(多く場合、特定のデータスキーマに変換)が行われます。データは通常、ターゲットデータウェアハウスに直接書き出すのではなく、ステージング環境のデータベースに書き出すのが一般的です。このステップにより、計画どおりに何かが進まない場合の迅速なロールバック(後退復帰)を保証します。この段階の間に、規制遵守に関する監査レポートを作成したり、データの問題を診断して修復したりすることができます。

格納(Load)

最後に、格納機能は、変換されたデータをステージング領域からターゲットデータベースに書き込むプロセスです。ターゲットデータベースには、データが以前に存在していた場合とそうでない場合があります。アプリケーションの要件に応じて、このプロセスは非常に単純にも、複雑にもなり得ます。これらの各ステップは、ETL ツールやカスタムコードで実行可能です。

ETL ツールとは

従来、こうした一連の ETL プロセスは都度プログラムを作成し、行われていました。また、扱うデータソースが多くなるほど、プロセスが複雑化し、高い専門知識やスキルが必要となります。

そこで注目されたのが ETL ツールです。ETL ツールは、膨大な量のデータ収集からデータ変換、格納までのプロセスを効率化するためのツールで、直感的な開発を可能にするインターフェイスが整備されています。ETL ツールを活用することで、ETL プロセスをシンプルにし、開発工数の削減、社内におけるデータ活用の促進、ビジネス上の迅速な問題解決が可能になります。
 

ETL パイプラインとは ー データパイプラインとの違い

ETL パイプラインとデータパイプラインは、どちらもソースから別のシステムにデータを移動する、データ統合と管理の手法ですが、両者ではその方法が異なります。ETL パイプライン(またはデータパイプライン)とは、ETL 処理を行うための仕組みのことです。データパイプラインは、データを保存・処理するシステムから、保存・管理方法が異なる別のシステムにデータを移動させるための一連のツールとアクティビティです。パイプラインを使用することで、さまざまなソースから情報を自動的に取得し、単一の高性能なデータストレージに変換して統合できます。

データパイプラインについての詳細は、データパイプラインの構築に関するドキュメントを参照ください。
 

ETL の課題

ETL は不可欠なものです。しかし、急激なデータソースの増大や、データタイプの多様化により、データエンジニアリングにとって、信頼性の高いデータパイプラインを構築し維持することが困難な課題となっているのが実情です。まず、データの信頼性を確保できるパイプラインの構築は時間がかかり、困難です。データパイプラインは、複雑なコードで構築され、再利用性にも限りがあります。構築済みのパイプラインは、基本的なコードがほぼ同じでも、別の環境では使用できません。そのため、データエンジニアはパイプラインを毎回最初から開発する必要があり、それがボトルネックになることがあります。また、パイプラインの開発以外にも課題はあります。複雑さが増すパイプラインアーキテクチャでのデータ品質の管理です。低品質のデータは、検知されずにパイプラインを通過することが多く、データセット全体の価値を下げることになります。品質の維持と信頼性の高い気づきを確保するには、各ステップでのパイプラインの品質チェックと検証の実施が必要ですが、データエンジニアはそのために、広範なカスタムコードを記述しなくてはなりません。さらに、パイプラインの規模や複雑さが増すにつれ、企業におけるパイプラインの管理負荷が増大し、データの信頼性を維持することが非常に困難になっています。データ処理のインフラは、セットアップ、スケーリング、再起動、パッチ適用、更新が必要です。これにより、時間とコストが増大します。パイプラインの障害は、可視性とツールの不足が原因で、特定が難しく、解決はさらに困難です。

ETL にはこのような課題がありますが、信頼性の高い ETL は、データドリブンな気づきの取得を目指すビジネスにとって、必要不可欠なプロセスです。データの信頼性の基準を維持する ETL により、ビジネスのチームは信頼できる指標やレポートを得ることができ、意思決定が促進されます。継続的にスケールアップするためには、ETL を合理化し、民主化するツールが必要です。データエンジニアは、ETL のライフサイクルを容易にし、データチームがデータパイプラインを構築、活用して、迅速に気づきを得ることができるツールを必要としています。

Delta Lake で ETL を自動化

Delta Live Tables(DLT)は、Delta Lake に高品質データをもたらす信頼性の高いデータパイプラインの構築と管理を容易にします。DLT の宣言型パイプラインの開発、データテストの自動化、監視とリカバリの詳細な視覚化は、データエンジニアリングのチームによる ETL の開発と管理をシンプルにします。

関連資料

用語集に戻る