Skip to Content

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

抽出、変換、ロード(ETL)は、複数のソースからデータを取得し、一元管理された場所に格納する必要がある場合に、データ・ウェアハウスの重要なプロセスです。プロセス・ロジックとインフラの設計は、ビジネス要件、保存されるデータ、形式が構造化されているか非構造化であるかによって異なります。

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

さまざまなソースから抽出されたデータは、アプリケーション、機械学習、人工知能、分析が連携できるように、特定の形式で保存する必要があります。ETL プロセスは、データを取得して特定の形式に変換し、データベースにロードするために使用されるデータソースを決定するビジネス・ルールのグループです。データは構造化または非構造化、あるいは両方の形式を含むこともあります。

ETL プロセスの実行後、データはデータ・ウェアハウスに格納され、管理者がさらに管理することができます。ETL データを保存するデータベースの管理者は、ログ、監査、バックアップを管理します。ETL イベントのログデータは、管理分析のためにデータ・ウェアハウスに格納される前に、独自のデータ・パイプラインを通過する場合もあります。

ETL プロセス

ETL には、抽出、変換、ロードの 3 つのステップがあります。データベース管理者、開発者、クラウド・アーキテクトは通常、ビジネス・ルールとアプリケーション要件を使用して ETL プロセスを設計します。ETL プロセスの設計では、以下の 3 つのステップを扱います。

  • 抽出:抽出用の未加工データは、1 つまたは複数のソースから取得できます。ソースは、API、ウェブサイト、別のデータベース、IoT ログ、ファイル、電子メール、その他の取込み可能なデータ形式から取得できます。ソースはさまざまな形式を持つ可能性があるため、ETL の最初のステップでは、次のステップのためにソースからデータを取得します。
  • 変換:ビジネス・ルールとストレージの場所によって、変換の設計を定義します。データをデータ・ウェアハウスに送信する前に、データのフォーマット、フィルタ、検証を行う必要があります。重複したデータは分析結果を歪める可能性があるため、重複した行項目は保存前に削除されます。データは、保存できるようにフォーマットされています。例えば、電話番号はハイフンの有無にかかわらず保存されるため、変換プロセスは、ストレージに送信する前にハイフンを追加または削除します。
  • ロード:変換後、データはデータ・ウェアハウスに送信され、ストレージとして使用されます。データは保持され、重複を回避する必要があるため、ETL プロセスを実行するたびに、ロード・ステップで増分の変化を考慮する必要があります。ETL は大企業で 1 日に数回実行されることが多いため、データベースに既に保存されている現在のアプリケーション・データに影響を与えることなく、新しいデータのみが追加されます。

ETL のメリット

ETL プロセスが設計されると、1 日を通して自動的に実行されます。ETL プロセスの中には、毎週または毎月発生するものがあり、ほとんどのデータベース・エンジンは、サーバー上で実行され、タスクを一定の時間に実行するためのスケジューラを提供します。適切に設計された ETL プロセスは、多くの変更を必要としません。手動操作なしでさまざまなソースからデータをインポートできます。

変換されていない未加工データは、特に複数のソースからの同様のデータを使用している場合は、一般的に分析には役に立ちません。例えば、トラフィック分析を扱う企業は、複数の政府機関のソースからデータを取得する可能性があります。全てのソースが重複レコードを作成する可能性は高いですが、ETL プロセスでは、データを取得し、重複を削除し、内部分析アプリケーションのデータをフォーマットします。企業は、さまざまな場所からデータを取得し、内部分析のために自動的に準備することができ、将来のビジネス上の意思決定や製品の発売にも役立ちます。

ETL はデータ更新を高速化し、現在またはリアルタイムのデータを扱う必要がある企業にメリットをもたらします。従来、データのインポートはバッチ化され、ETL は低速でした。企業はデータの変化を数時間後にしか確認できないことがありますが、現在の ETL テクノロジーはデータの更新を提供し、分析に最近のトレンドの変化を反映させることができます。

ETL ツールとテクノロジー

大規模なデータ・パイプラインでは、ほとんどの組織が ETL 用にカスタム・ツールとスクリプトを使用しています。データベース・エンジンには、多くの場合、独自の ETL 機能が搭載されているため、企業はデータをインポートできます。データの保存方法は、非構造化データまたは構造化データのどちらが必要かによって異なります。構造化データには非構造化データよりも多くのフォーマットが必要であるため、事前定義済みのツールは、選択したデータベース・プラットフォームと統合する必要があります。

ETL のためのツール:

  • Talend:ドラッグアンドドロップによるデータ・パイプライン統合のためのオープンソース GUI を提供
  • Informatica PowerCenter:ビジネス・プロジェクトのためにデータをインポートし、独自のデータ・パイプラインを設計するツールをエンドユーザーに提供
  • AWS Glue:非構造化および構造化データから ETL を設計し、S3 バケットに格納可能
  • Google Cloud Datablow:Google Cloud Platform(GCP)にデータを保存するサーバーレス ETL プロセスを作成可能

ETL 導入のベストプラクティス

優れた ETL 設計の鍵は、性能と精度です。性能は基盤となるインフラに依存することが多いため、増大する負荷に柔軟に対応し、それに対応できるデータ・ウェアハウスを持つことが重要となります。構造化データは、テーブルの制約が多いため、変換に時間がかかることがよくあります。しかし、FlashArray などのソリューションは、大規模なデータ・インポート用に構築されており、オンプレミスのパイプラインの迅速な実行を保証します。

ETL プロセスは常に、規模や未知のものにあわせて設計します。変換できないレコードを最終的にインポートする可能性は非常に高いです。エラーはログに記録し、記録を保存して詳細に確認する必要があります。これは、ETL にバグがあったり、ETL コードの変更で修正できるエッジ・ケースが設計で見落とされたりすることを意味します。

全ての ETL プロセスが物理サーバーで動作するわけではないため、Portworx などのソリューションは、仮想化およびコンテナ化されたデータベースや分析を処理します。コンテナ化されたサービスは、より多くのデータがインポートされるにつれて拡張する必要があり、一般的なオーケストレーション・ツールで動作します。Portworx は、Kubernetes などのオーケストレーション・ツールと統合し、ダイナミックで一貫性のある更新パイプラインを実現します。

ETL の課題とソリューション

データソースやビジネス要件は絶えず変化しているため、ETL の設計を担当する管理者は、スケール、更新、品質管理に関連する課題を抱えています。スケーリングの課題は通常、ストレージ容量の制限によって生じます。そのため、管理者は、データ・ストレージ要件の増加に応じて拡張可能なストレージでこの問題を解決できます。

ビジネス要件の変化に伴う課題は、多くの場合、保守管理の対象となります。データソースは、データの保存方法を変更したり、開発者がアプリケーションに変更を加えたりして、変換やロード構造の変更を必要とする場合があります。サードパーティのデータソースからのドキュメントがない場合、データ・ストレージやロード要件の変更は、ETL プロセスでエラーが発生するまで管理者に通知されません。ロギングとアラートは、管理者が問題を早期に特定し、ETL コーディングを変更できるようにします。早期の変更により、ビジネスの生産性と収益に対するエラーの影響が軽減されます。

ETL プロセスの設計は、最も困難なタスクの 1 つですが、管理者が利害関係者と話し合い、ビジネス・ルールが含まれていることを確認すると、より容易に進めることができます。ETL 設計の再設計とリファクタリングは、展開を遅らせ、不要なオーバーヘッドを追加する可能性があります。全てのケースを ETL 設計に含めて、過剰な書き換えを回避できるように、ビジネス・ルールを文書化します。

さまざまな ETL プロセスを分離し、互いに独立させます。このソリューションは、1 つのコンポーネントに障害が発生した場合に ETL プロセス全体が障害を受けないようにします。例えば、外部 API がクラッシュした場合、API が再び利用可能になるまで、他の全てのソースからのデータの抽出は完了します。必要に応じて、複数の ETL スケジュールを作成することもできます。ピュア・ストレージのクラウド・ストレージは、複数のクラウド・プラットフォームで作業する場合、AWS、Azure、GCP、その他の主要なプラットフォームをサポートしています。

ETL と ELT

ETL はリソース集約型で、特に大規模なデータセットを扱う場合、データの可用性に多少の遅延が生じる可能性があることに注意してください。リアルタイムやニア・リアルタイムのデータ処理が重要な要件である場合、データ・キャプチャの変更(CDC)やストリーミング・データ・パイプラインなどの他のデータ統合方法が適している場合があります。

さらに、近年、ELT(抽出、ロード、変換)は、ターゲット・データ・ストレージ・システム内でデータ変換が可能なクラウドベースのデータ環境において、ETL の代わりとして広く普及しています。ELT は、一部のユースケースではコスト効率とスケーラビリティに優れていますが、ETL と ELT の選択は、特定の要件と使用している技術によって異なります。

まとめ

ETL ソリューションの設計には時間がかかりますが、データ・ストレージの増加に伴いスケールするシステムを構築することを忘れないでください。データ・ストレージの容量は、最も解決が容易な課題の 1 つです。ピュア・ストレージのソリューションは、非構造化・構造化データのデータ・ウェアハウス用に構築されています。

優れた設計基準、文書化、品質保証テストにより、他の課題も解決できます。設計に役立つツールもありますが、ETL は多くの場合、ビジネスにあわせてカスタマイズされます。ステージング環境で少量のデータ・サンプルをテストし、新たなビジネス要件の導入に伴い ETL コーディングを継続的に維持します。

こちらの資料もご覧ください!

12/2024
Portworx on Red Hat OpenShift Bare Metal Reference Architecture
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts for use with OpenShift Virtualization.
リファレンス・アーキテクチャ
33 ページ
ご相談・お問い合わせ
ご質問・ご相談

ピュア・ストレージ製品および認定についてのご質問・ご相談を承っております。ご連絡をお待ちしております。

デモのご用命

ライブデモのご用命を承っております。ピュアがいかにしてデータを成果に変えるお手伝いができるかをご説明します。 

ピュア・ストレージ・ジャパン株式会社

〒100-0014 東京都千代田区永田町 2 丁目 10-3 東急キャピトルタワー 12 階

 

一般: info-japan@purestorage.com

メディア: pr-japan@purestorage.com

03-4563-7443(総合案内)

閉じる
このブラウザは現在サポートされていません。

古いブラウザには、セキュリティ・リスクが存在する場合があります。ピュア・ストレージの Web サイトをより快適にご利用いただけるよう、最新のブラウザにアップデートしてください。