Hadoopのメリットを基幹系に利用するために
企業ITに携わる人々の間で、Hadoopに対する関心が急速に高まっている。Hadoopとは、米Googleが発表した論文のアイデアから生まれた、オープンソースの分散処理基盤ソフトウェアである。大量のデータを、比較的安価なサーバを多数並べたクラスタシステム上で、高速かつ効率的に処理できる。既に多くの企業が、Webログの分析やPOSデータの解析といった情報系システムの用途で、Hadoopの活用を始めている。
さらに近年では、大量データを高速処理できるHadoopのメリットを、基幹系システムにも応用しようという動きが出てきている。特に、基幹バッチの処理を高速化するための技術として、Hadoopに大きな期待が寄せられている。しかしその半面、Hadoopを基幹系システムで導入するには、技術的なハードルが数多く存在するともいわれている。
ここに目を付けたのが、ウルシステムズだ。同社が2011年3月にオープンソースとして公開する予定の「Asakusa Framework」は、基幹バッチ処理にHadoopを適用するために必要な開発環境と実行環境、運用環境を提供するソフトウェアフレームワークだ。基幹系システムにHadoopを適用する上でネックとなる部分をすべてフレームワークで吸収し、Hadoopの専門知識がなくても基幹バッチ処理をHadoop上で容易に実行することを可能にするという。
本稿ではこのAsakusa Frameworkについて、ウルシステムズ 代表取締役社長の漆原 茂氏と、その開発プロジェクトを主導した同社 取締役の神林飛志氏に話を聞いた。
旧来のアーキテクチャではままならない「バッチ高速化」
「われわれがお客様から頂く要望は明確で、とにかく『バッチ処理の時間を速くしてほしい』ということだ」
神林氏はこう語る。バッチ高速化のニーズには、大きく分けて2種類があるという。1つは、バッチ処理の対象データの量と種類が増えてきた結果、定められた時間内にバッチ処理を完了できなくなるかもしれないという危惧だ。いわゆる、「バッチの突き抜け」である。これは、あらゆる企業のシステム担当者にとって頭の痛い問題だろうが、特に金融業界においてはバッチ処理の時間に対する要求が厳しいのだという。外部のさまざまな関係機関に対して、決められた日時にデータやリポートを報告することが義務付けられているため、それに必ず間に合うようバッチ処理を終える必要があるのだ。
また、バッチ処理の時間を大幅に短縮することにより、まったく新たなビジネス価値を生み出そうという動きも出てきている。例えば、会計のバッチ処理を高速化することで、予測ベースの管理会計データを確定ベースの財務会計データにより近づけ、経営戦略の精度を向上させる。あるいはSCMの分野であれば、メーカー、サプライヤー、バイヤー、それぞれでの受発注バッチ処理を高速化することで、サプライチェーン全体のスピード感を上げることができる。
しかし、こうしたニーズがあるにもかかわらず、これまで多くの企業では古い基幹バッチの環境が残されたままだった。
「多くの企業がホストコンピュータの古い環境を抱え続けているが、特に手付かずで残されているのがバッチ処理だ」
漆原氏はこのように語る。多様な形式のデータを一括で大量処理するバッチ処理は、並列化による高速化の効果が出やすい。従って、並列処理性能に優れたホストコンピュータに自ずと頼りがちとなり、結果として古いCOBOL環境が最後まで残ってしまうケースが多いという。
また中には、基幹系システムのオープン化の一環として、バッチ処理もオープン系のRDBMS上に移植する企業も少なくない。しかし、RDBMS上のバッチ処理はどうしてもI/O処理がボトルネックになってしまう。ムーアの法則を例に出すまでもなく、オープン系サーバに搭載されるCPUは年々性能が向上し、メモリの容量単価も下がり続けている。しかし、サーバの性能がいくら向上しても、結局はI/Oがボトルネックとなり、ハードウェアを刷新しても投資に見合うほどの性能向上がなかなか見込めないのが実情だ。
「お金を倍かけてシステムを刷新しても、せいぜい30%の時間短縮が精一杯。これまでのやり方ではアーキテクチャの制約上、基幹バッチの高速化には限界がある」(神林氏)