富士通は2012年12月5日、オープン系COBOL製品の最新版「NetCOBOL Enterprise EditionV10.5」の販売を始めた。オープンソースの分散処理ソフト「Hadoop」に対応しており、バッチ処理性能が従来に比べて3倍向上するという。同社は「Hadoopに対応したオープン系COBOL製品は世界初」とする。

 Hadoopは通常、JavaやRubyのアプリケーションから利用する。COBOLアプリケーションから使う場合は、(1)処理方法が異なる、(2)データ形式が異なる、という課題がある()。

図●COBOLから分散処理ソフト「Hadoop」を利用する際の課題と解決策
富士通はオープン系COBOL「NetCOBOL」の新版で二つの解決策を盛り込んだ
[画像のクリックで拡大表示]

 (1)では、COBOLは複数ファイルを使ってバッチ処理を進める。マスターファイル(「取引先マスター」など)とトランザクションファイル(「当日売上」など)を突き合わせる処理が一般的だ。しかしHadoopのデータ処理機構であるMapReduceは1回に一つのファイル(データ列)しか処理できない。(2)では、COBOLは独自、Hadoopはキーバリュー型のデータ形式を採用している。

 NetCOBOL V10.5はこの二つの課題を解決し、COBOLで開発した既存のアプリケーションを修整せずに、Hadoopを利用できるようにした。(1)に対しては、ファイルごとに独自の目印を付けてから、ソート処理で一つのデータ列にしてHadoopで実行する。これで元の複数ファイルに戻せるようにした。(2)では、COBOLとHadoopのデータ形式の違いをNetCOBOL V10.5で吸収。データ形式を変換せずに処理を実行できるようにした。

 1台のサーバーで処理に150分かかっていたNetCOBOLのバッチアプリケーションを、Hadoopを併用して16台のサーバーで並列処理したところ、処理時間は150分から50分に短縮できたという。さらにNetCOBOL V10.5と、12月5日に富士通が販売を開始したHadoopパッケージの新版「Interstage Big Data Parallel Processing Server V1.0.1」を併用すると、処理時間を8分にまで短縮できるとする。同製品は独自の共有ファイルを採用して、データの転送処理を不要にした。

 富士通がCOBOLのHadoop対応で狙うのは、ビッグデータ需要だ。「既存システムのバッチ処理を高速化し、データ活用につなげたいという需要が、ビッグデータ関連商談の半分を占める」とアプリケーションマネジメント・ミドルウェア事業部第三開発部の高橋義雄部長は話す。