ETLとは「Extract」「Transform」「Load」の略で、さまざまな場所(販売管理システム/顧客管理システムなど)に別々に存在している雑種多様なデータを抽出し、利用しやすいようにデータを再編集した後に、データウェアハウス(DWH)のような情報倉庫に出力する処理を指す。

ETLとは

ETLとは「Extract」「Transform」「Load」の略で、さまざまな場所(販売管理システム/顧客管理システムなど)に別々に存在している雑種多様なデータを抽出し、利用しやすいようにデータを再編集した後に、データウェアハウス(DWH)のような情報倉庫に出力する処理を指す。

目次

「ETL」とは
■概要
■参考「データウェアハウス(DWH)」とは
・概要
・データ活用目的
・主なポイント
・「リレーショナルデータベース」との違い
■ETLの3プロセス
・①Extract(抽出)
・②Transform(変換/加工)
・③Load(書き出し)
・※参考「ELT処理」
■ETLの課題

「ETLツール」とは
■概要
■主な特徴
・さまざまなデータソースに対応
・GUIベースで簡単に利用できる(専門知識は不要)
・高速処理
・クラウド対応
・データ連携機能

「ETL」とは

■概要

ETLとは、企業内外に存在する複数のシステム(データソース)からデータを抽出し、変換(加工)後にデータウェアハウスなどに出力を行う一連のプロセスを意味する。

ETLとは「Extract」「Transform」「Load」の略で、さまざまな場所(販売管理システム/顧客管理システムなど)に別々に存在している雑種多様なデータを抽出し、利用しやすいようにデータを再編集した後に、データウェアハウス(DWH)のような情報倉庫に出力する処理を指す。

■参考「データウェアハウス(DWH)」とは

概要

「データウェアハウス(DWH:Data WareHouse)」とは、大型データストレージであり、ETLというプロセスを通じて洗練された情報の出力先として利用される。

データ活用目的

「データ活用」を意識した大型データストレージであり、「データ活用」するための仕組みが用意されている。

さまざまな分析に活用されることを前提としており、データウェアハウスに格納されたデータの中から、必要となる情報を呼び出され、ビジネスインテリジェンスとして利用される。

取り扱うべき情報量が爆発的に増加している状況に対応し、本当に必要な情報を迅速に収集するために、多くの企業でデータウェアハウスが積極的に活用されるようになってきている。

主なポイント

・データは目的別に整然と並べられる
・時系列で蓄積
・「データ削除」や「データ更新」は行わない

「リレーショナルデータベース」との違い

リレーショナルデータベース(RDB:Relational DataBase)は、一般的に業務をシステム化するためのデータストレージとして利用される。

一方、データウェアハウスは「データを活用するためのデータ蓄積機能」としての利用を目的としている。

→AnalyticsNews →データウェアハウスとは

■ETLの3プロセス

ETLのプロセスは「Extract(抽出)」→「Transform(変換/加工)」→「Load(書き出し)」の3つの工程で構成される。
①Extract=さまざまなデータソースからデータを抽出
②Transform=抽出したデータに対して必要に応じて変換/加工
③Load=最終出力先ターゲット(データウェアハウス)に変換/加工済みのデータをロード

ETLプロセスを経ることにより、さまざまな場所にさまざまな形で散在していた情報が、分析/加工しやすい状態にまとめられる。

①Extract(抽出)

ETLでの第1工程「Extract」では、DWHにとって外部情報となる複数のデータソースからデータ抽出を行う。

データソースは、基幹情報システム(販売管理システム/生産管理システム/顧客管理システム)や、企業内サブシステム、クラウドストレージなどが対象となる。

「Extract」工程における重要なポイントとして、「どのような目的を持って情報を抽出するのか?」について念頭に置きながら情報抽出を行う必要がある。複数のデータソースからデータを取り出すことになるが、目的を定めておくことにより、「Extract」工程および後工程を効率化できる。

最終的にどのような目的で使用されるのかについて、ある程度パターン化できる場合は、その目的に見合ったデータを重点的に抽出できる。また、そのために、対象データ形式について、厳密に規定することも可能となる。

②Transform(変換/加工)

ETLでの第2工程「Transform」では、抽出したデータに対して、一定の規則に基づき、一連の規則や関数を適用し「データ変換」や「データ加工」を行い、データをデータウェアハウスに取り込める形式にする。

抽出データのデータ形式(データ構造)が統一されている場合は少なく、データウェアハウスのデータ構造に合わせるためにデータ構造分析を行い、さまざまな変換/加工処理が必要になるため、3つのプロセスの中で最もコストが掛かる場合が多い。

データソースがDWHに適合できるデータ形式である場合は、ほとんど変換/加工を必要としない場合もある。

③Load(書き出し)

ETLでの第3工程「Load」では、「②Transform」で処理されたデータをデータウェアハウスに「書き込む(Loadする)処理」を行う。

データウェアハウス側からすると、データを「取り込む(Importする)処理」となる。一般的なデータウェアハウスはデータインポート機能を備えており、この機能を利用して一度で大量データを取込むことが可能になっている。データベースにおけるSQL命令での行追加命令(INSERT)での処理に比べ、遥かに高速にデータ取り込みを行える。

「Load」の処理内容については、「週単位でのデータ追加」「時間単位でのデータ追加」など、データウェアハウス設計に依存する。

※参考「ELT処理」

ETLプロセスでは、データウェアハウスの外側で、ETLツールやプログラミングでデータの変換/加工処理を行う。

一方、ETLプロセスでの「②Transform(変換/加工)」と「③Load(書き出し)」の順番を入れ替えて、「データの変換/加工処理をデータウェアハウス(データベース)内で行う」という「ELTプロセス」も存在する。

データローダーなどのインポート機能を使用して、データベース内にデータファイルを取込んでからSQLを使用してデータ変換/加工処理を行う。

主なメリット
・大量のデータ同士の結合や抽出などが容易に行えるデータベース機能を利用できる
・比較的処理が容易になる(SQL命令を使用して変換/加工処理を行える)
・学習コストの削減(SQLを利用できるためETLツールに関する学習コストがなくなる) など

主なデメリット
・データベースへの負荷が高い(データベース内部で変換/加工処理を行うため)
・データ処理用のデータベース領域確保が必要 など

■ETLの課題

基本的に、ETLは複雑なプロセスであるため、多くの課題を内包しており、不適切に設計されたETLシステムでは運用上の大きな問題が発生する可能性がある。

主な課題
・スケーラビリティ設計(データ量予測)
・処理速度設計
・想定外のデータ値の存在
・データの相対的一貫性保証(データ同期設計) など

「ETLツール」とは

■概要

ETLシステムは、プログラミング言語によるシステム開発も行えるが、非常にコストが掛かる。

そのため、近年では、さまざまな「ETLツール」が登場してきており、より短期間でETLのプロセスを実現できるようになってきている。主として、企業への導入は増加している。

■主な特徴

さまざまなデータソースに対応

ETLツールは、企業で使用されているさまざまなデータソースに対応できる。

多くのETLツールは、「ODBC(Open DataBase Connectivity)」「JDBC(Java DataBase Connectivity)」などを利用して、収集元となるさまざまなデータベースにアクセスし、データを抽出する機能を持つ。ETLツール導入にあたって既存データベースを改修する必要はほぼない。

データベース以外でも、企業で標準的に使用されている多くのデータソースに対応する。
・Base64
・CSV
・GZIP
・HTML
・JSON
・Microsoft Excel
・XBRL
・XML
・ZIP など

XBRL(eXtensible Business Reporting Language)は、企業の財務情報(財務諸表など)を記述可能な言語。金融庁/東京証券取引所などでも採用されており、財務データの標準形式として普及することが見込まれている。

GUIベースで簡単に利用できる(専門知識は不要)

ETLではSQLなどを使用してデータを加工するが、ETLツールではGUIベースの操作環境を利用できる。

データベース関連専門知識やSQLに関する知識がなくても、豊富に用意されているさまざまな機能アイコンをドラッグ&ドロップで配置するだけで、ノンプログラミングでETLプロセスを作成できるツールも存在している。マウス操作で直感的なデータマッピングを行えるツールも増えてきている。

高速処理

データ変換処理速度に特化して開発されたツールが存在するなど、多くのETLツールは、「大量データ処理」や「高速データ処理」をセールスポイントに掲げている。今まで以上に高速のデータ変換が可能になり、迅速なETL処理が可能となっている。

主な高速処理機能
・パラレル処理機能(複数CPUを活用しパフォーマンス向上)
・自動負荷分散機能(複数サーバのメモリ使用量/CPU空き状況などを考慮し自動調整)
・データベースリソース最適化機能

クラウド対応

近年では企業のデータベースもクラウド環境におかれるケースが増加している。

多くのETLツールは、さまざまなプロトコルやAPIに対応しているため、各種クラウドサービス接続においても対応可能となっている。
・FTP/SFTP
・HTTP/HTTPS
・SOAP
・LDAP
・REST
・JMS など

データ連携機能

多くのETLツールは、データ連携機能を備えており、さまざまなツール/システム/サービスとの連携を行えるようになっている。ETLツールに付属するSDKを使用することで、自社開発のソフトウェアとの接続も行える。ETLツールが扱えるデータフォーマットは拡大し、コネクティビティは向上する。

ETLツールは、データ連携により、本来の以上の機能を含むようになっており「データプロファイリング機能」「データ品質管理機能」「メタデータ管理機能」なども含むようになっている。また、「企業アプリケーションフレームワーク」や「エンタープライズサービスバス」の一部として統合され始めている。

 

参考元サイト

ETL最新TOPICS

【講演資料を公開】9/8「大規模データ・インテグレーション事例とETLツール比較」(2017年10月08日 09:15)

2017年09月08日 銀座きれいがヶ丘(本館) 5階A会議室 にて「大規模データ・インテグレーション事例とETLツール比較」と題したセミナーが開催されました。 当日は、大盛況のうちに終了することができました。また、質疑応答では沢山のご質問を頂戴し、活発な議論が行われ、お陰さまで内容がより充実したものとなりました。ありがとうございました。 更に、名刺交換の場面では列が出来る程で、当セミ...

ETL最新CLOSEUPコラム

  • KSKサイド007
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter