オープンソースソフトウェアを利用したデータベースシステムの構築
中川晋輔

ネットワークで利用できるWebアプリケーション型の図書データベースシステムを構築した。オー
プンソースソフトウェアを利用することにより、安定性、柔軟性の高いシステムを低価格で実現できた。

キーワード：オープンソースソフトウェア、データベース、Webアプリケーション

１．はじめにことなく、既存のWebブラウザだけでシステムを使用

近年、Linuxに代表されるように、ソースコードができ、OSにも依存しないという利点がある。構築し公開され、改良や再配布が可能なオープンソースソ

たデータベースシステムの概要を図１に示す。

(1)

フトウェアの利用が盛んになっている 。また、業
務用アプリケーションの分野では、パソコンにWeb２．２ データベースシステムの構成ブラウザが標準装備されたこと、ネットワーク環境

データベースシステムには、データベース連動型が充実してきたことにより、特定のクライアントプのWebアプリケーションを開発する場合に最適な組ラットフォームに依存しないWebアプリケーションみ合わせとされているLAPPを採用した。LAPPとは、(2)

OSにLinux、WebサーバにApache(4)、データベースサ型システムの開発が主流になっている 。
本報では、これらのオープンソースソフトウェア

ーバにPostgreSQL(5)、開発言語にPHP(6)を用いたシスを利用して、Web上でデータ管理・検索が可能なデーテムのことである。これらはすべてオープンソース

タベースシステムを構築し、評価を行った事例を報ソフトウェアであり、安定性、柔軟性を備え、かつ告する。

低価格である。ハードウェアとしてはパソコン１台にWebサーバとデータベースサーバ両方の機能を持たせた。本データベースシステムの構成を表１に示

２．データベースシステムの構築す。

２．１ データベースシステムの概要
今回構築したデータベースシステムの特徴は、１つ目にオープンソースソフトウェアを活用していること、２つ目にWebアプリケーション型を採用していネットワークることである。オープンソースソフトウェアは、ソフトウェアの設計図にあたるソースコードが公開され、誰でもそのソフトウェアの改良や再配布ができるため、利用しようとする者が、システムを自由に検索実行
データベースサーバ(3)カスタマイズできる 。また、ライセンス料のかか検索要求/検索結果
WebサーバWebブラウザ（クライアントPC）

らないオープンソースソフトウェアを利用すれば、初期導入費用がほとんどかからないという利点がある。一方、Webアプリケーション型システムでは、クライアントPCに専用プログラムをインストールする- 41 -図１

データベースシステムの概要図

サーバ

表１

データベースシステムの構成例として資料検索画面を図３に示す。資料検索は書CPUIntel PentiumⅢ 600MHz

名、著者、出版社の検索項目に対して、それぞれ一メモリ

256MB

致検索、部分一致検索ができる。また、書名検索とHDD容量20GB著者検索を併せて行うこともできる。検索した結果

OSLinux(Fedora Core 5)は図４に示す検索結果一覧として表示され、書名をWebサーバ

Apache-2.2.0-5.1.2

クリックすることでその図書の詳細なデータを表示

データベース

PostgreSQL-8.1.4-1.FC5.1することもできる。Webアプリケーション型のデータベースシステムであるため、図書データの登録、修サーバ
クライアント

開発言語

PHP-5.1.4-1

正もWebブラウザ上から行える。図５に図書新規登録

CPUIntel Pentium4 2.8GHz

画面を示す。構築した図書データベースシステムをメモリ

1GB

WebサーバApacheに付属のベンチマークツールab

HDD容量120GB（apache bench）を使用して評価した。abは、Web

ホストOS

Microsoft Windows XP Home指定したクライアント数で発行し、応答結果に応じEditionエミュレータ

Vmware Player 1.0.1

ゲストOS

Linux(Fedora Core 6)

サーバに対するHTTPリクエストを、指定した回数、たレポートを出力するツールである。

利用者

メニュー

２．３ 図書データベースシステム
構築したデータベースシステムを評価するために、

資料検索

検索結果一覧

資料詳細

システム管理

図書管理

新規登録（ユーザ認証）

修正／削除

所内の図書データを用いてシステムを作成した。図
ユーザ管理

書データベースの利用方法としては、次の３通りが新規登録考えられる。１つ目はデータベースの検索のみ利用

修正／削除する場合、２つ目はデータベースへのデータ入力も行う場合、３つ目はデータベースのデータ管理、ユパスワード変更

図２

動的コンテンツの構成図

ーザ管理を含むすべての機能を利用する場合である。
これらの利用方法に合わせて３種類のユーザ権限を設定した。１つ目は部外者権限、２つ目は部内者権限、３つ目は管理者権限である。また、所内のネットワークを利用するため、データベースシステムにセキュリティ対策を行った。セキュリティ対策としては、データベースに接続する際、ネットワーク接続制御、ホストベース認証によりクライアントPCのチェックを行うとともに、PHPによるユーザ認証を設定し、動的コンテンツへの閲覧制限も可能にした。
ユーザ認証はアクセス時にユーザIDとパスワードを用いて行う。認証に成功するとブラウザを終了するまでこの状態を保持し、終了時に認証をリセットする。Webアプリケーションの動的コンテンツの構成を
図２に示す。これらの動的コンテンツはユーザ権限により閲覧制限可能である。動的コンテンツの表示- 42 -

図３

資料検索画面

全ユーザ

部内者および管理者（点線で囲った項目は管理者のみ）

利点を活かすことにより、安定性、柔軟性を備えたシステムを低価格で構築できた。
今回は所内の図書データを対象にしたが、商品情報や顧客情報等のデータを対象にすれば業務管理システムも構築可能である。

100Mbps
100Mbps
ハブ

Webサーバ兼データベースサーバ

図４ 検索結果一覧

図６

クライアントPC

評価ネットワーク環境

表２

評価結果

総リクエスト数

100 回

失敗したリクエスト数

0 回

評価に要した総時間数

2.26 秒

１秒当たりの平均処理リクエスト数44.2 回

１リクエスト当たりの平均処理時間

0.0226 秒

１秒当たりに受け取ったバイト数

211570 バイト

参考文献
図５ 図書新規登録画面(1)桑原洋:オープンソース事情:オープンソースソ
フトウェア(OSS)発展への期待,

図６に示す簡単なネットワークを構成し、クライア

情報処理,Vol.47,No.4,pp.418-420(April 2006).

ントPC上でabを実行した。評価対象としたのは、図(2)市村匠,田中秀樹:Webデータベースシステム構築

３に示す資料検索のHTMLファイルで、その容量は、

術,セレンディップ(2004).

4,727バイトである。クライアント数を10に設定し、(3)http://www.opensource.org/docs/osd

同時にリクエストを行わせた結果を表２に示す。1(4)http://httpd.apache.org/ABOUT_APACHE.html

リクエストあたりの平均処理時間は0.0226秒であり、(5)http://www.postgresql.org/about/

失敗したリクエストはなかった。この図書データベ(6)http://www.php.net/

ースの同時リクエストの可能性を全クライアント数の１／10と想定すると10倍のクライアントを接続しても、この処理時間を確保できる。従って全クライアント数が100くらいまでなら今回の構成で十分利用できると考えられる。

３．おわりにオープンソースソフトウェアを利用した図書デー
タベースシステムを構築し、データ入力や検索等の操作性を検証した。オープンソースソフトウェアの- 43 -