ETL とは

抽出、変換、ロード (ETL) は、複数のソースからのデータを、データウェアハウスと呼ばれる中心的な大規模リポジトリにまとめるプロセスです。ETL は、一連のビジネスルールを使用して raw データをクリーニングおよび整理し、ストレージ、データ分析、および機械学習 (ML) 向けに準備します。データ分析を通じて特定のビジネスインテリジェンスニーズに対応できます (ビジネス上の意思決定の結果の予測、レポートとダッシュボードの生成、運用上の非効率性の低減など)。

ETL が重要な理由

今日の組織には、次のようなさまざまなソースからの構造化データと非構造化データがあります。

  • オンライン決済および顧客関係管理 (CRM) システムからの顧客データ
  • ベンダーシステムからの在庫および運用データ
  • モノのインターネット (IoT) デバイスからのセンサーデータ
  • ソーシャルメディアと顧客ィードバックからのマーケティングデータ
  • 社内人事システムからの従業員データ

抽出、変換、ロード (ETL) のプロセスを適用することで、個々の未加工のデータセットを、分析目的でより利用しやすい形式と構造で準備でき、より有意義なインサイトが得られます。例えば、オンライン小売業者は、POS からのデータを分析して需要を予測し、在庫を管理できます。マーケティングチームは、CRM データをソーシャルメディア上の顧客からのフィードバックと統合して、消費者の行動を調査できます。

ETL はビジネスインテリジェンスにどのように役立つか

抽出、変換、ロード (ETL) は、プロセスの信頼性、正確性、詳細性、効率性を高めることで、ビジネスインテリジェンスと分析を改善します。

過去のコンテキスト

ETL は、組織のデータに過去の深いコンテキストを提供できます。企業は、レガシーデータを新しいプラットフォームやアプリケーションからのデータと組み合わせることができます。古いデータセットを最新の情報と一緒に表示できるため、データを長期的に見ることができます。

統合データビュー

ETL は、詳細な分析とレポート作成のためのデータの統合ビューを提供します。複数のデータセットの管理には時間と調整が必要であり、非効率で遅延が発生する可能性があります。ETL は、データベースとさまざまな形式のデータを 1 つの統合ビューに結合します。データ統合プロセスにより、データ品質が向上し、データの移動、分類、または標準化に必要な時間が節約されます。これにより、大規模なデータセットの分析、視覚化、理解が容易になります。

正確なデータ分析

ETL は、コンプライアンスおよび規制基準を満たすために、より正確なデータ分析を行います。ETL ツールをデータ品質ツールと統合して、データのプロファイリング、監査、クリーニングを行い、データの信頼性を確保できます。

タスクのオートメーション

ETL は、反復可能なデータ処理タスクを自動化して、効率的な分析を行います。ETL ツールはデータ移行プロセスを自動化し、データの変更を定期的に、または実行時に統合するように設定できます。その結果、データエンジニアは、データの移動やフォーマットなどの面倒なタスクの管理に費やす時間を減らして、イノベーションにより多くの時間を費やすことができます。

ETL の進化の過程

抽出、変換、ロード (ETL) は、分析用にデータをテーブルの形式で保存するリレーショナルデータベースの出現に端を発しています。初期の ETL ツールは、分析のためにデータをトランザクションデータ形式からリレーショナルデータ形式に変換しようとしました。

従来の ETL

未加工データは通常、多くの読み取りおよび書き込みリクエストをサポートするトランザクションデータベースに保存されていましたが、分析にはあまり適していませんでした。未加工データはスプレッドシートの行と考えることができます。例えば、e コマースシステムでは、トランザクションデータベースは、購入した商品、顧客の詳細、および注文の詳細を 1 つのトランザクションで保存していました。トランザクションデータベースには、1 年の間に複数の商品を購入した同じ顧客がその年に繰り返しエントリしたトランザクションの長いリストが含まれていました。データが重複しているため、その年の最も人気のある商品や購入傾向を分析するのは面倒でした。

この問題を克服するために、ETL ツールはこのトランザクションデータを、相互接続されたテーブルを持つリレーショナルデータに自動的に変換しました。アナリストはクエリを使用して、パターンや傾向に加えて、テーブル間の関係を特定できます。

最新の ETL

ETL テクノロジーが進化するにつれて、データタイプとデータソースのどちらも指数関数的に増加しました。クラウドテクノロジーは、膨大なデータベース (データシンクとも呼ばれます) を作成するために登場しました。このようなデータシンクは、複数のソースからデータを受信でき、時間の経過とともに拡張できる基盤となるハードウェアリソースを備えています。ETL ツールもより洗練されており、最新のデータシンクと連携できます。最新のデータシンクは、データを従来のデータ形式から最新のデータ形式に変換できます。最新のデータベースの例は次のとおりです。

データウェアハウス

データウェアハウスは、複数のデータベースを保存できる中央リポジトリです。各データベース内で、テーブル内のデータ型を説明するテーブルと列にデータを編成できます。データウェアハウスソフトウェアは、ソリッドステートドライブ (SSD)、ハードドライブ、その他のクラウドストレージなど、複数の種類のストレージハードウェアで動作し、データ処理を最適化します。

データレイク

データレイクを使用すると、規模にかかわらず、すべての構造化データと非構造化データを一元化された 1 つのリポジトリに保存できます。データは思い描く将来像に基づいて最初に構造化する必要なく、そのまま保存できます。また、データレイクでは、SQL クエリ、ビッグデータ分析、全文検索、リアルタイム分析、機械学習 (ML) など、さまざまなタイプのデータ分析を実行し、的確な意思決定に役立てることができます。

ETL の仕組み

抽出、変換、ロード (ETL) は、データを送信元システムから送信先システムに定期的に移動することによって機能します。ETL プロセスが機能するには、次の 3 つのステップを踏みます。

  1. ソースデータベースから関連データを抽出する
  2. 分析に適したデータに変換する
  3. ターゲットデータベースにデータをロードする

データ抽出とは

データの抽出では、抽出、変換、ロード (ETL) ツールが複数のソースから未加工データを抽出またはコピーし、ステージング領域に保存します。ステージング領域 (またはランディングゾーン) は、抽出したデータを一時的に保存するための中間ストレージ領域です。多くの場合、データステージング領域は一時的なものです。つまり、データの抽出が完了すると、その内容が消去されます。ただし、ステージング領域には、トラブルシューティングの目的でデータアーカイブを保持する場合もあります。

システムがデータソースからターゲットデータストアにデータを送信する頻度は、基になる変更データキャプチャメカニズムによって異なります。通常、データ抽出は次の 3 つの方法のいずれかで行われます。

更新通知

更新通知では、データレコードが変更されたときにソースシステムから通知されます。その後、その変更の抽出プロセスを実行できます。ほとんどのデータベースとウェブアプリケーションは、このデータ統合方法をサポートする更新メカニズムを提供します。

増分抽出

一部のデータソースは更新通知を提供できませんが、特定の期間に変更されたデータを識別して抽出できます。この場合、システムは、週に 1 回、月に 1 回、またはキャンペーンの終了時など、定期的な間隔で変更をチェックします。抽出する必要があるのは、変更されたデータのみです。

完全抽出

一部のシステムでは、データの変更を識別したり、通知を送信したりできないため、すべてのデータを再ロードすることが唯一のオプションとなります。この抽出方法では、最後の抽出のコピーを保持して、どのレコードが新しいかを確認する必要があります。このアプローチには大量のデータ転送が含まれるため、小さなテーブルにのみ使用することをお勧めします。

データ変換とは

データ変換では、抽出、変換、ロード (ETL) ツールがステージング領域の未加工データを変換および統合して、ターゲットデータウェアハウス用に準備します。データ変換フェーズには、次のタイプのデータ変更が含まれる場合があります。

基本的なデータ変換

基本的な変換では、エラーを削除したり、データフィールドを空にしたり、データを単純化したりして、データ品質を向上させます。これらの変換の例を次に示します。

データクレンジング

データクレンジングはエラーを取り除き、ソースデータをターゲットデータ形式にマッピングします。例えば、空のデータフィールドを数値 0 にマッピングしたり、データ値「Parent」を「P」にマッピングしたり、「Child」を「C」にマッピングしたりできます。

データ重複排除

データクレンジングでの重複排除は、重複レコードを特定して削除します。

データ形式の改訂

形式の改訂は、文字セット、測定単位、日付/時刻値などのデータを一貫したフォーマットに変換します。例えば、食品会社は、キログラムとポンドで測定された材料を含むさまざまなレシピデータベースを持っている可能性があります。ETL はすべてをポンドに変換します。

高度なデータ変換

高度な変換では、ビジネスルールを使用してデータを最適化し、分析を容易にします。これらの変換の例を次に示します。

派生

派生は、ビジネスルールをデータに適用して、既存の値から新しい値を計算します。例えば、費用を差し引いたり、各アイテムの価格に注文したアイテム数を掛けて購入の総コストを計算したりして、収益を利益に変換できます。

結合

データの準備では、結合により、異なるデータソースからの同じデータがリンクされます。例えば、さまざまなベンダーからの購入金額を加算し、最終的な合計のみをターゲットシステムに保存することで、1 つのアイテムの合計購入コストを見つけることができます。

分割

ターゲットシステムでは、列またはデータ属性を複数の列に分割できます。例えば、データソースに顧客名が「Jane John Doe」として保存されている場合、それを名、ミドルネーム、姓に分割できます。

要約

要約は、多数のデータ値を小さなデータセットに削減することで、データ品質を向上させます。例えば、顧客注文請求書の値には、さまざまな少額が含まれる場合があります。特定の期間のデータを合計して、顧客生涯価値 (CLV) メトリクスを構築することで、データを要約できます。

暗号化

データがターゲットデータベースにストリームされる前に暗号化を追加することで、機密データを保護してデータ保護法またはデータプライバシー保護法に準拠させることができます。

データロードとは

データのロードでは、抽出、変換、ロード (ETL) ツールが、変換されたデータをステージング領域からターゲットデータウェアハウスに移動します。ETL を使用するほとんどの組織では、プロセスは自動化され、明確に定義され、継続的で、バッチ駆動です。データをロードする方法には、次の 2 つがあります。

全ロード

全ロードでは、ソースからのデータ全体が変換され、データウェアハウスに移動します。通常、全ロードは、ソースシステムからデータウェアハウスにデータを初めてロードするときに行われます。

増分ロード 

増分ロードでは、ETL ツールは、ターゲットシステムとソースシステムの間のデルタ (または差分) を定期的にロードします。この日付以降に追加されたレコードのみがロードされるように、最後の抽出日が保存されます。増分ロードを実装するには、2 つの方法があります。

ストリーミング増分ロード

データ量が少ない場合は、継続的な変更をデータパイプライン経由でターゲットデータウェアハウスにストリーミングできます。データの速度が 1 秒あたり数百万のイベントに増加すると、イベントストリーム処理を使用してデータストリームをモニタリングおよび処理し、よりタイムリーな意思決定を行うことができます。

バッチ増分ロード

データボリュームが大きい場合は、負荷データの変更を定期的にバッチに収集できます。この設定された期間中、データが同期されるため、ソースシステムまたはターゲットシステムのいずれに対してもアクションは発生しません。

ELT とは

抽出、ロード、変換 (ELT) は、抽出、変換、ロード (ETL) の拡張機能で、操作の順序が逆になります。データを処理する前に、ターゲットシステムにデータを直接ロードできます。ターゲットデータウェアハウス内にはデータマッピング機能があるため、中間ステージング領域は必要ありません。ELT は、変換に必要な処理能力をターゲットデータベースに与えるクラウドインフラストラクチャの採用により、より一般的になりました。

ETL と ELT の比較

ELT は、頻繁なロードが必要な大量の非構造化データセットに適しています。また、データの抽出と保存の後に分析の計画を立てることができるため、ビッグデータにも最適です。変換の大部分を分析段階に残し、最小限処理された未加工データをデータウェアハウスにロードすることに注力します。

ETL プロセスでは、最初により多くの定義が必要です。ターゲットのデータ型、構造、および関係を定義するには、最初からアナリティクスを使用する必要があります。データサイエンティストは主に ETL を使用してレガシーデータベースをウェアハウスにロードしますが、現在では ELT が標準になっています。

データ仮想化とは

データ仮想化では、ソフトウェア抽象化レイヤーを使用して、データを物理的に抽出、変換、またはロードすることなく、統合されたデータビューを作成します。組織は、この機能を統合された仮想データリポジトリとして使用し、ソースとターゲット用に別々のプラットフォームを構築して管理する費用と複雑さを回避します。抽出、変換、ロード (ETL) と共にデータ仮想化を使用することもできますが、仮想化は ETL やその他の物理的なデータ統合方法に代わるものと見られることが増えています。例えば、AWS Glue Elastic Views を使用して、異なる複数のソースデータストアからマテリアライズドビューと呼ばれる仮想テーブルをすばやく作成できます。

AWS Glue とは何ですか?

AWS Glue は、分析ユーザーが、分析、機械学習、アプリケーション開発のために複数のソースからデータを簡単に検出、準備、移動、統合するのを容易にするサーバーレス データ統合サービスです。

  • 80 以上の多様なデータストアを検出して接続できます。
  • 一元化されたデータカタログでデータを管理できます。
  • データエンジニア、ETL デベロッパー、データアナリスト、およびビジネスユーザーは、AWS Glue Studio を使用して ETL パイプラインを作成、実行、モニタリングし、データをデータレイクにロードできます。
  • AWS Glue Studio は、ビジュアル ETL、ノートブック、およびコード エディタのインターフェイスを提供するため、ユーザーは自分のスキルセットに適したツールを使用できます。
  • インタラクティブセッションを使用すると、データエンジニアは、任意の IDE またはノートブックを使用して、データを探索したり、ジョブを作成およびテストしたりできます。
  • AWS Glue はサーバーレスであり、オンデマンドで自動的にスケーリングされるため、インフラストラクチャを管理することなく、ペタバイト規模のデータからインサイトを得ることに集中できます。

AWS アカウントを作成して、AWS Glue の使用を開始しましょう。

AWS ETL の次のステップ

追加の製品関連リソースを確認する
AWS Glue の詳細はこちら 
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで、AWS を使って構築を開始しましょう。

サインイン