ETLとドラ焼き

 本日は ETL ソフトベンダーの Informatica 社のパートナー企業向けカンファレンスにいってきました。別にパートナー企業の人間じゃないのですが、付き合いのある営業さんから呼ばれたので、汐留のコンラッド・ホテルまで。

 ETL(Extract Transform Load)ソフトというのは、システム開発を仕事としている人でも、知らない人は知らない。DWH や EAI 系の仕事をしないと縁がないし、欧米と違って日本ではあまり導入しないからです。平たく言うと、あちこちに散らばったデータソースからファイルを集めて(Extract)、整形やマスタとの突合、ソート、文字変換など一連の編集処理(Transform)を行い、データベースに投入(Load)することを自動化するソフトです。プログラミングレスに GUI な開発ができるので、開発運用が簡単でトータル・コストが削減できる、というのが売りです。

 え、でもそんなのバッチで組めばいいんじゃないの、そっちのがずっと安上がりで柔軟な処理ができるし、と思ったあなたは偉い。実はそこが一番のポイントです。ETL は、ないならないで、自前でプログラムを組めば何とでもなるので、絶対に必要不可欠な製品ではないのです。この分野のリーダーは IBM 社の DataStage (昔別の会社が作っていたけど、IBM が買収した)と Informatica 社の PowerCenter ですが、実は ETL ベンダーにとって最大の敵は、ライバル企業じゃありません。俗に「手組み」と言われるような、ETL を使わずに自前でプログラミングしてしまう風潮です。

 何しろ決して安い買い物ではない上に、昨今の不況で、企業としては安上がりに済む方法を採りたがるものです。社内のプログラマも仕事がなくて遊んでるし。しかも、日本はアメリカと違って労働者の流動性が低い ―― つまり、開発に従事していたプログラマや SE がすぐに辞めて誰もコードをメンテできなくなる、というリスクがアメリカより低い。ETL 製品の導入がそれほど進まないのはそのためだ、と私は睨んでいます。(もう一つ言ってしまうと、本当に ETL を使うことで開発と保守の効率が上がるのか、という根本的な疑惑も払拭はされていない。)

 ETL 製品の最大のネックは、パフォーマンスです。出来合いのパッケージなので、パフォーマンスが出なかった場合に手組みのプログラムほど柔軟なチューニングをするのが難しい。せいぜいオンメモリ処理を増やしたり、ジョブを複数プロセスに分割したり、といった設定が画面からできる程度。ファイル I/O を多く行うので、この Transform 部分がボトルネックになる危険が大きいのです。DB サーバは強力なものを用意しても、ETL サーバは割と「余り物」で作ってしまうケースも少なくない。だから、最近の製品は ETL の一部の処理を性能のいい DB 側にやらせてしまう機能を持ったりしている。だったら最初から DB に入れて SQL で編集すればいいという話になり(私もよくやります)、こうなると何のための ETL かよく分からなってしまう。レゾンデートルを確保するのがなかなか大変な分野なのです。

 でも、システム規模が大きくなればなるほどメリットが出てくるのも確かだし、ニッチだけど面白い市場ではあるので、今後も両社には頑張ってもらいたいものです。

 ちなみに写真は、お土産にもらった文明堂のドラ焼き。ちゃんと社名のロゴ入りで、食べると PowerCenter を買いたくなる不思議な効果があります(笑)。