ETL(Extract/Transform/Load)とは?

ETLとは、Extract(抽出)/Transform(変換)/Load(格納)の略で、広く使用されているデータの抽出とマイグレーションプロセスを指します。

ほとんどの企業では、潜在的に有用なデータへのアクセスが実現されていません。ある調査では、企業の3分の2がデータから「実質的な利益をほとんど得ていない」か、「まったく得ていない」ことが明らかになっています。データは、隔離されたサイロ、レガシーシステム、またはほとんど使用されないアプリケーションにしまい込まれる傾向があります。

しかしETLのプロセスは、複数のソースからそのようなデータを抽出して(上の図を参照)、データをクレンジング/変換できるようにし、最終的にビジネスの知見を獲得できるようにします。

SQLやJavaでハンドコーディングによりETLが実行されることもありますが、プロセスを簡素化するETLツールも利用できます。この記事では、ETLのユースケース、ハンドコーディングの代わりにETLツール を使用するメリットや、クラウドとの互換性、ETLツールで考慮すべき機能について詳しく説明します。

ETLの使用目的・メリット

データは、ほとんどすべてのビジネス運営において重要な役割を果たします。データが価値あるものとなるためには、データを移動し、使用するための準備をすることが必要です。つまり、ETLプロセスが必要なのです。ETLには次のようなユースケースがあります。

  • アプリケーション間でのデータのマイグレーション
  • データの複製によるバックアップまたは冗長分析
  • CRMからODS(Operational Data Store)にデータを移行してデータの強化(エンリッチメント)を実行した後でCRMに戻すなどの運用プロセス
  • ビジネスインテリジェンスを獲得するため、データウェアハウスにデータを置き、データウェアハウスの取り込み/ソート/変換を実行する
  • オンプレミスからクラウド、ハイブリッドクラウド、またはマルチクラウドのインフラストラクチャーにアプリケーションを移行する
  • 主要システムの同期

ETLとELTプロセスの仕組み

ETLは、通常は3段階のプロセスです。ただし、ソースからデータを抽出し、ターゲットのデータウェアハウスにロードする、またはロード後のデータを変換することがますます一般的になりつつあります。このプロセスは、ETLではなくELTと呼ばれます。ETLとELTの違いについては、こちらをご覧ください。

以下は、ETLプロセスの3つのステップです。

ステップ1:抽出

ETLの目的は、アナリティクスやビジネス運営に使用できる、クレンジングされアクセス可能なデータを生成することです。ローデータは、以下のような多様なソースから抽出する必要があります。

  • 既存のデータベース
  • アクティビティログ(ネットワークトラフィック、エラーレポートなど)
  • アプリケーションのパフォーマンスおよび異常
  • セキュリティイベント
  • コンプライアンスのために報告を必要とするその他のトランザクション

抽出されたデータは、続いてデータレイクやデータウェアハウスなどに配置されることがあります。

ステップ2:変換

ETLの変換ステージでは、最も重要な処理が行われます。変換の最大の意義は、レポート要件を満たすためにデータにビジネスルールを適用することです。変換によって、ローデータが正しいレポート形式に変更されます。データのクレンジングが行われなければ、レポート向けにビジネスルールを適用することがより困難になります。

変換は、ユーザーが定義する一連のルールと規則に沿って実行されます。この段階では、以下のような標準を用いてデータクオリティとアクセシビリティを保証します。

  • 標準化:使用するデータの特定、データをフォーマットして保存する方法、その後のすべてのステップを定義するその他の基本的考慮事項を定義します。
  • 重複排除:データスチュワードに重複が報告され、冗長データが除外/廃棄されます。
  • 検証:自動チェックを実行して、トランザクション時間やアクセスレコードなどの類似情報を比較します。検証では、使用できないデータがさらに除去され、システム、アプリケーション、またはデータの異常もマーク付け可能です。
  • ソート:ローデータ、オーディオ、マルチメディアなどのオブジェクトをグループ化してカテゴリーに分類することで、データウェアハウスの効率を最大限に高めます。変換ルールによって、各データがどのように分類され、どこに格納されるのかが決まります。ETLプロセスは、サマリーレポート用の集計テーブルを作成する場合にも使用されます。これは、ソートの後で集計を必要とします。
  • その他のタスク — 自動実行のためにユーザーが定義・設定したものです。

変換ステップでのこれらの処理によって、使用不可能な大量の情報が整理され、ETLの最終ステップとなるロードフェーズで提示可能なデータ成果物が作成されます。

ステップ3:ロード

典型的なETLプロセスでは、最後のステップとして、抽出され変換されたデータが新しい格納場所にロードされます。データウェアハウスにデータをロードする典型的な方法としては、フルロードと増分ロードの2つがあります。

コマンドラインまたはGUIインターフェイスからタスクを実行することによって、孤立したETLサイクルまたはスケジュールされた一連のサイクルを実行できます。しかし、注意すべきことがいくつかあります。たとえば、例外の管理は非常に面倒なプロセスです。1つまたは複数のシステムがダウンしている場合は、データの抽出が失敗することがあります。いずれかのシステムに不正なデータが含まれていれば、別のシステムから抽出されるデータに影響を与える可能性があるため、監視とエラー処理が重要なアクティビティとなります。

Talendのデータ統合ツールの使用開始についてご確認ください。

この動画コンテンツにアクセスできるよう、Cookieを有効にしてください。

現代のデータプラクティス:ETLとELTについて

ELTは、データをソースから移動し、ビジネスインテリジェンスに使用する準備が整った状態にするための実証済みのプロセスです。しかし、現代のクラウドベースのインフラストラクチャーテクノロジーによって、システムは大容量のデータストレージとスケーラブルなコンピューティングパワーを低コストでサポートできるようになりました。したがって、抽出されたローデータを維持するために無限の高速処理能力を備えた、大規模で拡張し続けるデータプールにデータを保持することが有利に働きます。

ある意味において、ELTの場合は、すべてのローデータは使用準備が整うまで保管され、データの抽出とロードのみに注力しやすくなることから、データ管理のアプローチとして好まれます。その一方で、次のようなさまざまな利点があるデータ変換についても留意する必要があります。

  • 機械学習のためのデータプレパレーション。これにより、アルゴリズムの精度が大幅に向上します。
  • データのクレンジングによるデータクオリティの向上
  • 重複排除とデータのマッチング
  • 日付の値の標準化

データレイク中心の環境でも、企業データから最大の価値を引き出すには、データ変換が不可欠です。

ETLツールとハンドコーディングによるETLプロセスの比較

新たなツールに投資するよりもハンドコーディングの方がオプションとして優れているのではないか、と考えるIT専門家も多く存在します。ETLの機能のほとんどはハンドコーディングでも実行できます。しかし、ほとんどの場合、ETLプロセス用ツールを使用する方が長期的にはスケーラブルで安価です。

ハンドコーディングには多くの問題があります。ハンドコーディングの管理、サポート、再利用が複雑になります。開発者にとって、ほかの開発者のコードは再利用しにくいだけでなく、学習するのが非常にやっかいなことがあります。ETLツールの場合は、データフローが視覚的に示され、理解しやすくなります。ハンドコーディングでは、開発者がほかの開発者のコードを書き直すことがよくあります。コードを書き直す方が、他者のコードを理解するよりも簡単だからです。このため、ハンドコーディングではメンテナンスコストが倍増することがあります。同様の問題から、開発者がほかの開発者のコードを再利用する可能性も低くなります。

さらに、データ統合ツールには、並列化、監視、フェイルオーバーなどの高度な機能がすべて自動的に組み込まれています。ハンドコーディングでこれらの機能を利用しようとした場合、必要な技術をすべて習得するためには非常に熟練したコーダーが必要となります。最後に、データ統合に対してカスタムコーディングのアプローチで臨もうとすると、カスタムコーディングされた統合を扱うことのできる熟練した開発者が少ないために、スケーリングとイノベーションが阻害されます。ETLツールを使用しなければ、最初はコストを低く抑えることができますが、それ以上にメンテナンスコストが大幅に増加していきます。

ETLとクラウドへの移行

ETLツールとクラウドとの互換性は、多くの組織にとって非常に重要であることが明らかになっています。企業がクラウドに移行する際、既存のデータ統合ツールやETLツールを再評価する必要があります。従来の多くのツールがクラウドでうまく機能しないためです。また、ほとんどの企業は複数のクラウドを使用しているか、またはクラウドプロバイダー間(AWS、Azure、Google Cloud Platformなど)で移行することを希望します。

ETLツールは、あらゆるクラウドプロバイダーで十分に機能できなければなりません。さらに、プロバイダーの変更に応じて簡単に移行できることが求められます。クラウドプラットフォームを変更したからといって、データパイプラインを書き換えるのは望ましいことではありません。データパイプラインが移植可能であれば、クラウド、ストレージテクノロジー、データ処理テクノロジー、クラウドデータベースの変更に自在に対応できます。

ETLツールで考慮すべき機能

ETLツールは、このプロセスを大幅に簡略化する可能性があります。ETLツールで確認すべき機能は次のとおりです。

  • 多数のコネクター。世界中で多くのシステムとアプリケーションが使用されています。ETLツールに組み込まれているコネクターが多ければ多いほど、チームの時間節約につながります。
  • オープンソース。一般的に、オープンソースのアーキテクチャーは、ベンダーロックインを回避しながら柔軟性を提供します。
  • 移植性。ハイブリッドクラウドモデルに移行するにつれて、データ統合を一度構築してどこでも実行できることの重要性が高まります。
  • 使いやすさ。ETLツールは、GUIインターフェイスにより習得しやすく使いやすいものであり、データパイプラインをより簡単に視覚化できる必要があります。
  • 明確な価格モデル。ETLツールプロバイダーのコストは、コネクターやデータボリュームの増加に応じて増加するものであってはなりません。
  • クラウドの互換性。ETLツールは、単一のクラウドでも、マルチクラウドでも、ハイブリッドクラウド環境でも、ネイティブに動作する必要があります。

ETLとTalend:Talend Data IntegrationとTalend Open Source Data Integration

Talendは、ETLプロセス向けに堅牢なデータ統合ツールを提供しています。Talendをデータ統合に使用することで、ハンドコーディングの10倍のスピードで統合ジョブを実行でき、コストも競合他社と比べて5分の1に抑えることができます。

Talendのデータ統合ソフトウェアには、Talendオープンソースデータ統合製品Talend Data Management Platformの2つのバージョンがあります。2つを比較すると、Talendオープンソースデータ統合製品には多くのユースケースで強力な効果があり、価値があります。各開発者がデータパイプラインを構築して実行するのに最適なツールです。

一方、より大きなチームでコラボレーションを推進し、エンタープライズクラスのサポートを受けたり生産性を高めたりしたい場合は、サブスクリプション製品が適しています。Talend Data Managementプラットフォームは、管理/監視機能、プラットフォームに組み込まれたデータクオリティ、Web/電子メール、/電話でのサポートなど、追加機能を提供します。どちらのオプションもネイティブのマルチクラウド機能、あらゆる種類のプロジェクトに対応するスケーラビリティ、900の組み込みコネクターを提供します。

ETLは、企業内でデータを活用するための重要なプロセスです。TalendのツールでETLプロセスの実行が簡単になります。Talendのオープンソースデータ統合を試すことで、スピードと生産性を犠牲にすることなく大量のデータをビジネスに活用する方法を確認できます。

Talendを使う準備はできていますか?