エージェント型企業を強化する Think基調講演を視聴する

ETL(抽出、変換、ロード)とは

ETLとは

ETLとは、抽出、変換、ロードを意味し、複数のソースからのデータを単一で一貫性のあるデータ・セットに結合、クレンジング、整理するデータ統合プロセスです。。その後、そのデータをデータウェアハウスデータレイク、またはその他のターゲット・システムにロードします

ETLデータ・パイプラインは、データ分析と機械学習のワークストリームに対する基盤を提供します。ETLは、一連のビジネス・ルールを通じてデータをクレンジングおよび整理し、月次レポートなどの特定のビジネス・インテリジェンス・ニーズに対応します。また、バック・エンド・プロセスとエンド・ユーザー・エクスペリエンスを向上させる、より高度な分析にも対応できます。ETLパイプラインは、組織で次のような目的でよく使用されます。

  • レガシー・システムからのデータ抽出

  • データ品質を向上させ一貫性を確立するためのデータ・クレンジング

  • ターゲット・データベースへのデータ・ロード

ETLの進化

企業はそろばんの時代からデータを生成してきましたが、現代の分析はデジタル・コンピュータとデータ・ストレージの登場によって初めて可能になりました。

1970年代には、大規模な集中型データベースへの移行により、大きな一歩が踏み出されました。その後、ETLは、計算や分析のためにデータを統合してロードするプロセスとして導入され、最終的にはデータ・ウェアハウジング・プロジェクトでデータを処理するための主要な方法になりました。

1980年代後半には、データウェアハウスと、トランザクション・データベースからリレーショナル・データ形式で情報を格納するリレーショナル・データベースへの移行が盛んになりました。古いトランザクション・データベースは、トランザクションごとに情報を保存し、トランザクションごとに重複した顧客情報が保存されるため、長期にわたって統一された方法で顧客データにアクセスする簡単な方法がありませんでした。リレーショナル・データベースによって、アナリティクスはBusiness Intelligence(BI)の基礎となり、意思決定における重要なツールとなりました。

より洗練されたETLソフトウェアが登場するまで、初期の試みは主にITチームによる手作業で、さまざまなシステムやコネクターからデータを抽出するものでした。次に、そのデータを共通形式に変換し、相互接続されたテーブルにロードしていました。それでも、高度なアルゴリズムとニューラル・ネットワークの登場により、分析による洞察をさらに深める機会が生まれたため、初期のETLにおける努力は価値があるものでした。

1990年代には、コンピューティング速度とストレージ容量が急速に増加し続けたことで、ビッグデータの時代が到来しました。その後、ソーシャル・メディアやモノのインターネット(IoT)などの新しいソースから、大量のデータが抽出されるようになりました。ただし、データはオンプレミスのデータウェアハウスに保存されることが多く、制約要因は残っていました。

コンピューティングとETLの両方における次の大きなステップは、1990年代後半に普及したクラウド・コンピューティングでした。Amazon Web Services(AWS)Microsoft AzureSnowflakeなどのデータウェアハウスを活用することで、今では世界中からデータにアクセスできるようになりました。これらのプラットフォームは迅速に拡張することもできるため、ETLソリューションは非常に詳細なインサイトと新たな競争優位性をもたらすことができます。

最新の進化は、ストリーミング・データを活用し、膨大なデータから最新のインサイトを提供するETLソリューションです。

AI Academy

生成AIの成功の鍵はデータ管理

生成AIの使用を成功させるために、高品質のデータが不可欠である理由をご覧ください。

ETLとELTの比較

ETLとELT(抽出、読み込み、変換)の最も明らかな違いは、操作の順序の違いです。ELTはソース・ロケーションからデータをコピーまたはエクスポートしますが、変換のためにステージング領域にロードする代わりに、生データをターゲット・データ・ストアに直接ロードして必要に応じて変換します。

どちらのプロセスも、データベース、データウェアハウス、データレイクなどのさまざまなデータ・リポジトリーを使用しますが、それぞれに長所と短所があります。ELTは、ソースから直接ロードできるため、大容量の非構造化データ・セットの処理に役立ちます。ELTは、データの抽出と保管に関する事前計画をあまり必要としないため、ビッグデータ管理により適している場合があります。

ETLプロセスでは、開始時により明確な定義が必要です。異なるソース・システム間で統合するために、抽出する特定のデータ・ポイントと潜在的な「キー」を特定する必要があります。入力データのソースは、多くの場合、メタデータを使用して追跡されます。その作業が完了した後でも、データ変換のためのビジネス・ルールを構築する必要があります。

この作業は通常、特定の種類のデータ分析に関するデータ要件に依存し、それによってデータに必要な集約レベルが決まります。

ELTパイプラインはクラウド・データベースの導入によりますます普及していますが、ELTテクノロジーはまだ開発段階にあり、ベスト・プラクティスはまだ模索されている状況です。

ETLの仕組み

ETLの仕組みを理解する最も簡単な方法は、プロセスの各ステップで何が起こるかを理解することです。

抽出

データ抽出時には、未加工データがソースの場所からステージング・エリアへコピーまたはエクスポートされます。データ管理チームは、構造化データや非構造化データなど、さまざまなソースからデータを抽出できます。こうしたデータ・タイプには以下が含まれますが、これらに限定されません。

  • SQLまたはNoSQLサーバー
  • CRMおよびERPシステム
  • JSONとXML
  • フラットファイル・データベース
  • Eメール
  • Webページ

変換

ステージング・エリアでは、未加工データがデータ処理を受けます。ここでは、データが変換され、意図した分析用途に合わせて統合されます。変換プロセスのこのフェーズには、以下が含まれます。

  • データのフィルタリング、クレンジング、重複排除、検証、認証。
  • 未加工データに基づいて計算、変換、要約を行う。このプロセスには、一貫性を保つために行と列のヘッダーを変更すること、通貨やその他の測定単位を変換すること、テキスト文字列を編集することなどが含まれます。
  • データ品質とコンプライアンスを確認するための監査の実施、メトリクスの計算。
  • 業界や政府の規制によって管理されるデータを削除、暗号化、または保護
  • データをテーブルまたは結合テーブルにフォーマットして、ターゲット・データ・ウェアハウスのスキーマに合わせる

ロード

最終ステップでは、変換されたデータをステージング・エリアからターゲット・データウェアハウスへ移動します。通常、このプロセスでは、まず全データを初期ロードし、その後、増分データ変更を定期的にロードします。また、頻度は低いものの、ウェアハウス内のデータを消去して置き換える完全リフレッシュを行うこともあります。

ETLを使用するほとんどの組織では、プロセスは自動化され、明確に定義され、継続的で、バッチ駆動型です。通常、ETLのロード・プロセスは、ソース・システムとデータウェアハウスのトラフィックが最も少ない時間帯に行われます。

ETLおよびその他のデータ統合方法

ETLとELTはデータ統合の方法のひとつに過ぎず、データ統合ワークフローを促進するために他にも多くのアプローチがあります。その例としては、以下があります。

  • 変更データ・キャプチャー(CDC)は、変更されたソース・データのみを識別してキャプチャーし、そのデータをターゲット・システムに移動します。CDCを使用すると、ETLの「抽出」ステップで必要なリソースを削減できます。また、変換済みのデータをデータレイクやその他のリポジトリーにリアルタイムで移動するために、単独で使用することもできます。

  • データ・レプリケーションは、データ・ソースの変更をリアルタイムまたはバッチで中央データベースにコピーします。データ・レプリケーションはデータ統合の手法として挙げられることがよくありますが、実際には、災害復旧のバックアップ作成に最もよく使用されています。
  • データ仮想化は、ソフトウェアの抽象化レイヤーを使用して、ソース・データをターゲット・システムに物理的にコピー、変換、またはロードすることなく、統合された完全に使用可能なデータのビューを作成します。データ仮想化の機能により、組織は同じソースデータからデータ・ストレージ用の仮想データウェアハウス、データレイク、データ・マートを作成でき、それぞれ別のプラットフォームを構築および管理する費用や複雑さを避けることができます。データ仮想化はETLと併用することもできますが、ETLやその他の物理的なデータ統合方法の代替手段として見られることが増えています。

  • ストリーム・データ統合(SDI)は、リアルタイムでデータ・ストリームを連続的に取り込み、変換し、分析のためにターゲット・システムにロードします。「継続的」というキーワードが重要です。SDIは、特定の時点で取得されたデータ・スナップショットを統合するのではなく、データを継続的に統合します。情報が利用可能になると、その時点で処理します。SDIは、分析、機械学習、リアルタイム・アプリケーションを支えるデータ・ストアを実現し、顧客体験の向上、不正検知などに役立ちます。

ETLの利点と課題

ETLソリューションは、データを別のリポジトリーにロードする前にデータ・クレンジングを行うことで品質を向上させます。ETLは時間のかかるバッチ処理であり、更新頻度が低い小規模なターゲット・データ・リポジトリーの作成により適しています。一方、ELT(抽出、ロード、変換)、変更データ・キャプチャー(CDC)、データ仮想化などの他のデータ統合手法は、頻繁に変更されるデータやリアルタイム・データ・ストリームの増大する量を統合するために使用されます。

ETLツール

過去には、組織が独自にETLコードを作成していましたが、現在では多くのオープン・ソースや商用のETLツール、クラウド・ベースのサービスがあります。これらの製品の一般的な機能は次のとおりです。

  • 包括的な自動化と使いやすさ:主要なETLツールは、データ・ソースからターゲット・データウェアハウスまでのデータ・フロー全体を自動化します。これにより、データエンジニアはデータの移動やフォーマットという面倒な作業から解放され、より迅速な結果とより効率的な運用が可能になります。

  • 視覚的なドラッグ・アンド・ドロップ・インターフェース:この機能は、ルールとデータ・フローの指定に使用できます。

  • 複雑なデータ管理のサポート:この機能には、複雑な計算、データ統合、文字列操作の支援が含まれます。

  • セキュリティーとコンプライアンス:最良のETLツールは、移動中および保存中のデータを暗号化し、HIPAAやGDPRのような業界や政府の規制に準拠していることが保証されています。

さらに、多くのETLツールはELT機能を組み込み、人工知能(AI)アプリケーション向けのリアルタイム・データとストリーミング・データの統合をサポートするように進化しました。

ETLに関するよくある質問

ステージング・エリアとは

ステージング・エリアは、データ・ソースとターゲットの宛先(データウェアハウスなど)の間にある一時的なストレージ・ロケーションで、未加工データを一時的に保管するために使用されます。未加工データをターゲットの宛先に移動する前にクレンジング、検査、変換する積み込みドックとして機能します。

初期ロードと増分ロードの違いとは

初期ロードとは、データ・ソースからターゲットの宛先に履歴データを初めて抽出してロードすることです。これにはデータ・セット全体が含まれ、プロジェクトの開始時に一度実行されます。増分ロードは、直近のロード以降に新規作成、変更、または削除されたデータのみをロードするプロセスです。これらのプロセスはスケジュールに基づいて実行されます。

緩やかに変化するディメンション(SCD)とは

この用語はやや曖昧で、2つの異なる意味で使用されます。緩やかに変化するディメンションとは、固定されたスケジュールではなく、時間の経過とともに不定期に変化するデータウェアハウス内のディメンション・テーブルを指します。よく挙げられる例は顧客の住所です。この用語は、ディメンション・データの時間の経過に伴う変化を処理し、追跡するために使用される方法と手法を指す場合もあります。

重複データにはどのように対処すればよいですか

重複データに対処するには、組織は重複データとその種類を体系的に特定するプロセス、重複データを削除または統合するための明確なルール、将来の入力を防ぐためのガードレールを作成する必要があります。

関連ソリューション
データ管理ソフトウェアとソリューション

データ・サイロを排除し、複雑さを軽減し、データ品質を向上させることで、卓越した顧客体験と従業員体験を実現するデータ・ストラテジーを設計します。

データ管理ソリューションの詳細はこちら
IBM watsonx.data

watsonx.dataを使用すると、オープンでハイブリッド、かつ管理されたデータ・ストアを通じて、データがどこに保存されていても、すべてのデータを使用して分析とAIを拡張できます。

watsonx.dataについてはこちら
データ分析コンサルティングサービス

IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。

分析サービスを発見する
次のステップ

データ・サイロを排除し、複雑さを軽減し、データ品質を向上させることで、卓越した顧客体験と従業員体験を実現するデータ・ストラテジーを設計します。

  1. データ管理ソリューションの詳細はこちら
  2. watsonx.dataについてはこちら