OSDN Japan主催のイベント「Open Source Database Conference」が新宿住友ビルにて行なわれ、PostgreSQL、MySQL、InterBaseなどのオープンソースデータベースシステムの概要と実際の活用事例が紹介された。
巨大Webサイトを支えるオープンソースDB
最初に、OSDNジャパン統括マネージャである佐渡秀治氏が、オープンソースデータベースの概要などについて語った。
OSDNジャパン統括マネージャである佐渡秀治氏。 |
同氏は、業務基幹システム向けデータベースの領域で、米Oracleが米IBMや米Microsoftなどとの競争に置かれている点に触れたあと、プロプライエタリなデータベースも含めて、サービスを重視する方向にあるとした。そのでうえで「システムを構築するにあたり、顧客にいいパスを提供することが大切」だと語り、コアなシステムにはプロプライエタリなデータベース、サブシステムにはオープンソースのシステムを使用する事例が増えている背景を説明した。また、今後は「ハードやOSが安くなっているのに、データベースだけが高いままという状況は不自然」であるとし、オープンソースデータベースの活用事例として米Yahoo Financeと米OSDNを紹介した。
また、OSDNジャパンの活動にも触れ、オープンソースソフトウェア開発者向けサイトである「SourceForge」の日本語版を運用開始することを発表した。運用はVA Linux Systemsジャパン(株)とOSDNジャパンが行なう。完全な日本語化を行なうことで、日本人開発者がプロジェクトを運用しやすい環境を提供する。4月から5月をめどに正式運用を開始し、年間1000プロジェクトのホスティングを目指すとしている。
WebサイトのバックエンドとしてのPostgreSQL
次に、(株)サンブリッジテクノロジーズ開発本部プロジェクトマネージャである酒井勉氏が登壇し、WebアプリケーションのバックエンドシステムとしてPostgreSQLを活用するメリットや問題について紹介した。
(株)サンブリッジテクノロジーズ開発本部プロジェクトマネージャである酒井勉氏。 |
ユーザーからの入力を処理し、結果をWebサーバ経由でユーザーのWebブラウザ上に表示するWebアプリケーションでは、主にユーザーによって入力された文字情報を扱うことが多いほか、その量も膨大なものになることがある。しかし、バックエンドのデータベースは、検索機能とデータ保存機能以外にはほとんど何もする必要がない。そのため、同氏によれば、Webアプリケーションのバックエンドシステムに求められるものは、
- 文字型情報の扱いに優れていること
- 単純な機能を高速、安定して提供できること
といったことであり、プロプライエタリなデータベースの持つ豊富な機能がなくとも十分に運用可能であるという。PostgreSQLは、text型という独自のデータ型があり、現在のバージョンでは文字長制限も実質的にないため、文字型情報の扱いに優れている。また、Webアプリケーションの場合、1リクエストごとに接続が切れてしまうため、リクエストごとにクエリを発行して必要なレコードを抽出しなければならないが、PostgreSQLではOFFSET、LIMITという独自拡張されたSQL文があり、そのような処理も容易に行なわせることができるなど、Webアプリケーションのバックエンドとして使用するのに必要十分な機能が提供されている。
システムの保守、管理については、pg_dumpを使用してサービスを停止することなくバックアップが可能なメリットがある一方、前回のバックアップからの差分だけをバックアップする機能がないという問題もある。
同氏は、プロプライエタリなデータベースを使用する場合でも、Webシステム構築に用いられるLinuxプラットフォーム上で安定稼働するという保証もなく、システムに見合った性能を得られるわけではない点も指摘し、WebアプリケーションのバックエンドシステムとしてのPostgreSQLが優れているとした。
PostgreSQLを活用したWebシステム構築の実際
NECソフト(株)サーバソリューション事業部マネージャである佐藤克氏は、PostgreSQLをベースにしたWebシステムの事例と、業務システムへの適用可能性を説明した。
NECソフト(株)サーバソリューション事業部マネージャである佐藤克氏。 |
同氏はまず、現在業務システムのWeb化が進んでおり、PostgreSQLの利用もWebシステム関連が中心となっていることを指摘。PostgreSQLを利用したWebシステムの活用パターンとそれぞれの特徴を挙げた。
- CGIからの利用
- システム構築が容易で動作も軽快だが、トランザクション管理などの信頼性を確保する機構がない。小規模システム向け。
- Servlet/JSPからの利用
- ファイアウォールと組み合わせてDMZ内部で運用したり、Webサーバ部分を負荷分散するなどして運用する事例が多い。
- EJBからの利用
- 本格的なトランザクション管理が可能で、ミッションクリティカルなシステムを構築できる。
- Servlet検索用データベースとしての利用
- メインのデータベースにはOracleなどを使用し、Servletが処理する上で必要なデータをPostgreSQLで保持する。メインデータベースの負荷を減らし、画面生成のスループットを確保できる。
- リッチクライアントのWebサービス連携用データベースとしての利用
- クライアントで画面生成を行なうような、リッチクライアントを用いたWebサービスで、クライアントの検索用データベースとしてPostgreSQLを使用する。
このようなシステムは、すでにNECソフト(株)の社内システムでの検証を行なっており、現在同社のSI案件に適用して開発を行なっているという。同氏は、今後業務システムにPostgreSQLを採用するに当たり、性能のさらなるチューンや、Windows環境への適合、自動VACUUMなどの機能的な強化だけでなく、豊富な事例を用意することでオープンソースデータベースへの信頼性を確保することが必要であると述べた。
MySQL:A Commercial OpenSource Project
スウェーデンMySQL ABの創設メンバーでありCTOのDavid Axmark氏が、MySQLの概要を説明した。
スウェーデンMySQL CTOのDavid Axmark氏。 |
MySQLは、スウェーデンMySQL ABが中心となって開発されているデータベース。GPL版と商用ライセンス版があり、プロプライエタリなアプリケーションの開発にも利用できるが、現在米NuSphereとの間でライセンスに関する裁判を抱えているという。NASAや米Yahoo Financeなど、多くのWebアプリケーションで使用されており、Webアプリケーション開発プラットフォームを表わすLAMP(Linux、Apache、MySQL、PHPの頭文字)という造語もあるという。
同氏によると、MySQLの開発に際しては、
- モジュラーデザイン
- 不必要な機能は搭載しない
- インストール、設定は簡単にする
- コードとドキュメントを同時進行で制作する
といった点に注意されているという。現在公開されている開発版の4.xでは、
- ファイル形式とテーブル管理の改善
- 組み込み用途のライブラリを整備
- ハンドラインターフェイスを改善
- DELETE、UPDATE構文で複数テーブルの指定に対応
- SQL文にUNION、TRNCATEを追加
といった特徴があるという。また、日本での導入事例や日本語のドキュメントも豊富にあることにも触れ、MySQLの優位性をアピールしていた。
Active Database
米IBPhoenix社長であるAnn Harrison氏は、同社がメンテナンスしているInterBaseと、同社が中心に開発しているFirebirdについて紹介した。
米IBPhoenix社長であるAnn Harrison氏。 |
InterBaseは、1985年に最初のバージョンが発売された製品で、現在は米Borlandが販売している。ソースは2000年にIPLライセンスに基づき公開されている。FirebirdはInterBaseのソースをもとに分岐して開発されているデータベースで、MPLで公開されている。
同氏によると、両製品は“Active Database”であるという。“Active Database”とは、サーバサイドでのデータ処理をサポートする処理機能であり、データベース内での特定の変化をユーザーに通知するイベントアラーターや、独自のストアドプロシジャ、トリガー、フィルタなどを使用する。これにより、ほかのオープンソースデータベースと違いネットワークトラフィックの削減が可能になるといったメリットがあるという。
Firebirdは現在1.0RC2が公開されており、1.0公開に向けて、バグの修正やCからC++への再コーディングなどの作業が行なわれているという。FirebirdとInterBase間の互換性についても、InterBaseでバックアップしたデータをFirebirdでリストアできる程度の互換性は確保すると語った。