ITコストの削減を目指し、企業はソフトウエアの選択に今まで以上に厳しい目を向けている。新たな選択肢として浮上してきたのが、オープンソースのデータベース・ソフト「PostgreSQL」やアプリケーション・サーバー「Tomcat」などだ。導入事例は決して多いとはいえず、機能や性能に不安もある。だが、今や基幹系システムにまで普及が広がっているLinuxも数年前はそうだった。Linuxに続くオープンソースの“第2幕”は今、始まったばかりである。

(坂口 裕一)

PostgreSQL、Tomcat導入で押さえたい三つのポイント
開発・業務アプリに広がるオープンソース


【無料】サンプル版を差し上げます本記事は日経コンピュータ2003年8月25日号からの抜粋です。そのため図や表が一部割愛されていることをあらかじめご了承ください。本「特集」の全文をお読みいただける【無料】サンプル版を差し上げます。お申込みはこちらでお受けしています。なお本号のご購入はバックナンバーをご利用ください。

 「データベースのPostgreSQLとアプリケーション・サーバーTomcat、OSにLinuxといった具合にオープンソース・ソフトを全面採用したのは、ビジネスで勝ち抜くために商品内容を充実させ、さらに商品の原価を下げようとしたからだ」。

 オンラインの外国為替取引サービス「iFX Style」を個人投資家に提供するマネースクウェア・ジャパンの羽生章洋取締役は開口一番、記者にこう述べた。羽生取締役は、システム・インテグレータ、エア・ロジックの代表取締役社長兼CEOを兼務。4月に稼働したマネースクウェア・ジャパンの基幹系システム「外国為替取引システム」の構築を指揮した。ここで羽生取締役が言う「商品」はマネースクウェア・ジャパンが提供するオンライン外国為替取引サービスを、「商品原価」はシステムの構築コストを指している。

図1●マネースクウェア・ジャパンが開発したWebブラウザの画面。描画機能に優れるマクロメディアの「Flash MX」を使用して、操作性の向上を追求した。グラフをクリックすると、その価格で売買の注文を出すことができる

 今回のシステム構築コストはハード、ソフトを合わせて1億円弱。オープンソースのPostgreSQL、Tomcatを採用してライセンス購入費用を900万円程度削減した。「他社以上の機能と使い勝手の良さを実現しつつ、システム投資を最小限に抑える」(羽生取締役)という目標はオープンソース・ソフトの採用によって達成できたのである(図1[拡大表示])。

当初はOracleを検討

 外国為替取引システムの要件は、生やさしいものではない。大前提となるのが、システムの安定稼働だ。金融商品を扱う企業にとって、システム障害の影響は計り知れない。障害が起これば信用を一瞬に失い、会社存亡の危機になるかもしれないのだ。

 システムの中核となるデータベースでは、顧客情報、注文情報、取引情報などの重要データを扱う。注文が殺到した場合でも、こうしたデータを正しく処理する必要がある。「大ニュースが入れば為替相場は大きく動く。注文が殺到してもトラブルが起こらないようにしなければならない」(羽生取締役)。

 もちろん、外国為替では海外の市場も含めて取引が行われるため、システムは24時間稼働が求められる。週末も利用者は口座の状態を確認し、注文の予約をする。システムが止まってよいのは月曜早朝の数分間だけである。

 こうしたシステムでは、商用のデータベース・ソフトと商用のアプリケーション・サーバー・ソフトを採用するのが一般的だ。データベース・ソフトなら日本IBMのDB2 Universal Database、日本オラクルのOracle、マイクロソフトのSQL Server。アプリケーション・サーバー・ソフトでは日本IBMのWebSphere、日本BEAシステムズのWebLogicなどが定番である。マネースクウェア・ジャパンも、システム構築プロジェクトを始動させた昨年10月当初は、Oracle9iの利用を検討していた。

 オープンソースのPostgreSQLと比較すると、性能、機能、信頼性、拡張性、基幹システムでの稼働実績など、価格以外のほとんどの点でOracleが優れていた。システム構築を担当したエア・ロジックは昨年、Oracle9iを使って同様の外国為替取引システムを構築した実績も持っていた。

 一方、PostgreSQLは、他の案件で採用したことがあるものの、外国為替取引システムで採用したことはなかった。他社の事例を見ても、特に信頼性が必要な金融関係のシステムでオープンソースのデータベース・ソフトを採用する例はなかった。

 羽生取締役も「もしPostgreSQLでうまくいかなかった場合は、Oracleに乗り換えようという気持ちがあった」とPostgreSQL採用に不安があったことを認める。それでもPostgreSQLにこだわったのはコストの問題である。今回採用した2プロセサ構成のサーバー2台の場合、Oracleだけで約750万円のライセンス料がかかる。

PostgreSQLの機能強化が後押し

 マネースクウェア・ジャパンの挑戦に追い風も吹いた。昨年2月、PostgreSQLに新機能「オンライン・バキューム」が追加されたことだ。

 バキュームはPostgreSQL独特の処理で、従来はデータベースのテーブル全体をロックして行う必要があった。この間、データの更新ができず、サービスが中断してしまう。稼働中のバキューム処理を可能にするオンライン・バキューム機能がなければ、24時間運用は不可能だったのである。「オンライン・バキューム機能の追加は、PostgreSQL採用に踏み切った大きな理由の一つ。検証したところ、稼働中にオンライン・バキュームを行ってもレスポンスに問題はなかった」(羽生取締役)。

 さらに、データベースにアクセスする処理を分割するなどの工夫で、性能面の不安を解消した。最終的には、データベースの応答時間1秒以内、100トランザクションの同時処理という目標を達成できた。信頼性は、ハードウエアを2重化し、クラスタリング・ツールを使うことで確保した(図2[拡大表示])。

図2●マネースクウェア・ジャパンが構築した外国為替取引の基幹システム。オープンソース・ソフトを全面採用して、要件を満たしつつコストを1億円弱に抑えた。ハード機器はすべてを2重化して、耐障害性を高めた

 拡張性についても、羽生取締役は心配していない。「今回構築したシステムで、1万口座、月間1万取引まで処理できる。仮にここまで到達したら、うちは十分もうかっている。その時にはOracleを再度検討するだろう」。

OracleからPostgreSQLへリプレース

 商用ソフトは、導入時のコストだけでなく、その後の保守料金もユーザー企業の悩みの種になっている。全国に約260のレストランを展開するダイナックは今年3月、受発注システムのデータベース・ソフトをOracle8iからPostgreSQLに変更した(図3[拡大表示])。「サーバーや開発したソフトは、利用すれば減価償却される。ところが保守料がいつまでたっても一定だ。これは納得がいかない」(ダイナックの大橋健治情報システム部長)。

図3●全国に約260のレストランを展開するダイナックは、受発注システムのデータベース・ソフトをOracle8iからPostgreSQLに変更した。納入業者が増えてサーバーを増やしても、データベース・ソフトのライセンスや保守の費用を増やさずにすむ。OSはすべてLinuxを利用した

 この受発注システムは、オープンソースの「セルベッサ」を利用し、約260のレストランと食材や備品などの納入業者約140社を接続して、受発注や納品データをやりとりする。実は納入業者は全部で600~700社あり、セルベッサを利用していない納入業者とは、OCR(光学式文字読み取り装置)伝票を使って納品データをやりとりしている。

 ただ、OCR伝票では入力時に人手によるチェックが必要で、ダイナックではこの事務作業に2.5人を充てている。すべての納入業者にセルベッサを利用してもらうのが現在の目標だ。

 OracleからPostgreSQLにリプレースするきっかけとなったのは、昨年10月に生じたシステムのレスポンス低下である。ここでサーバー1台の増設を検討し始めた。ところが、従来と同様にOracleを採用するとコストが1200万円程度かかる。今後、サーバーの台数はさらに増え、それに応じてデータベース・ソフトのライセンス購入費と毎年の保守料金がかかることが予想される。ここで、ダイナックはPostgre-SQLへの変更を決断した。

 変更作業は、システムの運用を請け負っていたコムテック コンサルティングが担当した。コムテックは、Oracleデータベースで使われていたストアド・プロシジャを書き直し、動作確認をした。

 結果的にコストは追加した1台のサーバー、データベースの移行に伴うソフトの変更費用などを合計しても1000万円程度ですんだ。ダイナックは2台のサーバーの安定稼働を確認し、7月には3台体制に移行。これで納入業者200社まで処理できると見込んでいる。


続きは日経コンピュータ2003年8月25日号をお読み下さい。この号のご購入はバックナンバーをご利用ください。