MCViewトップテクノロジーNOW > 【第5回】ETLツールの概要と導入メリット
【第5回】ETLツールの概要と導入メリット

1.ETLツールとは

 ETLツールとは、企業の基幹系システムなどに蓄積されたデータ(ファイル・DB)を抽出(Extract)し、データウェアハウス(以下DWH)などで利用しやすい形に加工(Transform)し、対象となるデータベースに書き出す(Load)処理を支援するソフトウェアです。DWH構築をきっかけとしてETLツールが注目されるようになりましたが、現在ではDWHだけではなく様々なシステムの構築時にETLツールが活用されています。ソフトウェア開発の現場では近年、一から開発者がプログラミングによりシステムを構築する所謂「手組み」の時代から、フレームワークを利用した自動化および標準化の時代へと大きくシフトしており、ETLツールもその時代の流れの中で発展、進化しています。

0600nakamura-m20061211-01.jpg

2.ETLツールの基本機能

 ETLツールの機能は大きく「ETL処理実行機能」、「開発サポート機能」、「運用管理機能」の三つに大別できます。
ETL処理実行機能とは、ETL処理を自動実行するためのエンジン機能を指します。最近では、分散連携基盤ミドルウェア上で分散/仮想化を実現することにより、データの高速転送や可用性向上に寄与する製品もあります。
開発サポート機能・運用管理機能は、開発・運用担当者がGUI画面による操作を可能とします。設定や管理に専門スキルを特に必要とせず、操作性に優れていることをコンセプトにした製品が近年増えています。

 例えば開発サポート機能では、処理フローの設定、文字列操作や集計といったデータ加工設定、データベースからのテーブル定義情報のインポート、等の操作が全てGUIベースで可能です。またヘビーユーザー向けにSQLを直接書き込み複雑なデータ加工ができる製品もあります。運用管理機能では、GUIによる実行結果の確認、ジョブスケジューリングの設定が可能です。あるいは同期・非同期処理の設定や、処理の待ち合わせ制御ができる製品も存在します。
 

3.ETLツール使用のメリット 

システム構築時にETLツールは必須ではありませんが、開発生産性向上や運用コスト削減といった観点からETLツールの利用には大きなメリットがあります。図2に開発におけるETLツールの利用の有無を比較し、そのメリットを纏めました。

0600nakamura-m20061211-02.jpg


 システム開発の現場では、現在でも様々な問題を抱えているのが現状です。例えば開発フェーズの途中でERDが変更になりプログラムのメンテナンスが必要になる場合や、仕様担当者が開発者からの質問対応に追われ、仕様検討に時間を割けないといった例が挙げられます。ここでETLツールを利用して、データベースに対するデータの抽出・変換・書出を標準化することにより、設計から稼動までの期間・工数を圧縮できることが可能です。具体的には、従来であればプログラム開発が必要となるような仕様追加が、標準化された機能をベースに、ETLツールへの設定のみで完了する場合もあります。また標準化されていることにより、設定や定義を一つの業務システムに限らず、複数システムに適用することが可能です。

 開発者のスキルが低い場合、OJTといったものが必要になりますが、ETLツールは高級言語に比べ習得が容易であるため、教育負荷が掛かりません。これまで様々な開発者から質問を受けていた優秀なプロジェクトメンバーを、顧客との仕様確認等の付加価値の高い業務に専念させることができます。
 また、運用担当者側から見たメリットもあります。プログラミング言語で開発されたシステムのメンテナンスでは、プログラムソースをデバッグし、追加・修正するための影響範囲をその都度調査する必要があります。しかしETLツールを利用する上では、担当者は特にプログラミングの知識は必要ありません。

 例えば、影響範囲を調査するためにプログラムを順にデバッグする必要もなく、極端な場合、各種設定画面からの変更のみでメンテナンスが完了します。こうした点から、ETLツールは品質とスピードという点において優位性があると言えるでしょう。


4.ETLツールの今後

 開発管理機能と運用管理機能の充実は勿論のこと、ETLツールは自動化・標準化が更に進み、短期間で高品質なシステム開発を求めて進化すると思われます。より業務ニーズにマッチした形で実装できる手法が考案されることや、ソフトウェア開発企業独自の開発方法論やフレームワークとの親和性が検討されることが予想されます。また、PostgreSQL、MySQL等のオープンソースRDBMSを含む、データベースの種類に依存しないETLツールの開発も進むと考えています。


5.蓄積したデータの活用方法

 EAIツールやETLツールを駆使して蓄積したデータは、最終的にはユーザに活用されることになります。次回はこのデータ活用時に使用されるツールとその選定ポイントについてお話します。

(フューチャーシステムコンサルティング株式会社 テクノロジーサービス事業部 コンサルタント 武下真典)

2006年12月15日 16:00