profaim.base では DBMS は使用しないのか

Write : 2005/12/30

DBMS を使用しない理由

profaim.base ではデータ管理といえば一般的な、MySQL や Oracle 、 SQL Server といったデータベース管理システム(DBMS)は使用していません。これはより幅広い環境で動作させたいためです。そうすることでレンタルサーバを変えたいと思った場合でも難なく移行できるはずです。 開発言語に PHP5 ではなく PHP4 を採用しているのもそういった理由からです。

環境制約をなくすために DBMS を採用しないという選択は profaim.base の機能に制約を作ることになりました。補助機能として DBMSサポート機能 を考えてはいますが、やはり主機能として DBMS をサポートするに越したことはありません。現在 profaim.base では、DBMS の採用を検討中です。

検討中の DBMS

MySQL

MySQL は マルチユーザ・マルチスレッドの SQLデータベース(DBMS)です。 日本 MySQL ユーザ会 で紹介されています。MySQL は多くのレンタルサーバで利用できる DBMS です。XOOPS(コミュニケーションサイト構築ソフト)の普及などで多くのレンタルサーバで利用できるようになりました。 Linux + Apache + MySQL + PHP を組み合わせたウェブサーバ環境が LAMP と呼ばれていることからも PHP と相性の良い DBMS であるようです。

SQLite

SQLite は組み込み型のSQLデータベースエンジンです。データベースはファイルで管理され他の DBMS と同様に SQL言語 を使用したデータ操作が可能です。 SQLite ホームページ からダウンロードできます。こちらもPHP とは相性がよくデータベースがファイルで管理されることから データを一元管理したい profaim.base には最有力なデータベースです。

PHP5 からは標準のデータベースエンジンとして組み込まれているそうですが、PHP4 ではインストールが必要です。レンタルサーバを使用する限りでは簡単にインストールと言うわけにはいきません。PHP の dl() 関数で SQLite 拡張モジュールを動的にロードする方法もありますが、マルチスレッドのウェブサーバ環境では dl() 関数がサポートされないということです。

DBMS 採用の見通し

MySQL でしのぐという手もありますが 、 SQLite が使用できるのであればそれを使用したいと考えています。現在の XML + CSV 構成のデータ管理に DBMS 管理を組み込む手間もあり、またレンタルサーバ環境もいずれは PHP5 に移行していくと思うので、 時期は未定ですが MySQL ではなく PHP5 + SQLite を使用して profaim.base を書き直していく予定です。