ETL Tool

基本的に「プログラミング・レス」を標榜、推進するツールなので、最初は「ケッ」とか思ったが、いろいろと調べていくと中々に実用的なツールであることが判ってきた。(ESBとかいう物よりもずっと実用的だ)

ETL Toolを極簡単に説明すると

様々なデータソースからデータを抽出(Extract)して変換(Transform)、出力(Load)する処理を生成、自動化、統合管理するツール

ということになるか。
機能はベンダーによりけりだが、大方は

  • 幅広いデータソース(RDB、File(CSV)、XMLFTPHulftSOAP、PIPE、etc.)へのアクセス
  • データソースのメタデータリポジトリに登録して一元管理
  • GUIによるワークフロー定義と、その結線で処理を形成
  • O/Sが実行可能なバッチファイル(sh, ksh, bat, etc.)の生成、実行

これらをサポートしており、ツールによっては

  • 独自のスクリプトによりロジックを記述
  • ワークフロー中の要素に対して並列処理を指示
  • フロー毎にエラーを捕捉し、ロールバック
  • 他のツールと連携してデータクレンジング等の高度な変換

これらも可能とする。

適用としては様々なシステムに散在するデータの統合と提供であり、そのために費やしてきたバッチ処理のためのプログラミングと運用を省力化するのが目的だ。
経験のある方はお解りだと思うが、オープン化以降の大規模システムでのバッチ処理開発と運用の大変さは尋常ではないため、このようなツールでバッチを書けるのは有難いはずだ(汎用機の経験のある開発者であれば、JCLをGUIで開発、管理するイメージが近いだろう)

既に想像できると思うが、UNIX系で動作するエンタープライズ用途のものはライセンス料金が馬鹿高くSI案件以外では使い難いがオープンソースの実装もあるので、工夫次第でいろいろできそうな気がする。

最近とんと話を聞かないWF(Windows Workflow Foundation)も、(SQLServer以外のデータベースをサポートできるのが最低限の条件になろうが)ETLにはうってつけのフレームワークではないだろうか。

追記:
早速OPC Diaryからトラックバックでフォローして頂いた。WFというよりはSSISSql Server Integration Services)がもろ、ETL Toolなのだそうだ。
SSISの存在自体は知っていたのだが、中身は見ていなかった。失礼しました。

それにしてもおらが業界はEAI、BI、BPM、ESB、ETLと似た略語ばかりぼこぼこと作るなぁ。時間軸によっても呼び名が変わるし、訳がわからない。