最近のWebシステムではデータベースを使うのが当たり前になってきている。だが、オブジェクト指向の考え方とRDBMSの考え方は根本的に違うため、そのデータの扱いで苦労することが多い。

そのため、O/Rマッピングやオブジェクト指向DBと呼ばれるものが登場している。だが、簡易的なデータ保存であればそもそもデータをプログラム言語の中で扱ってしまえば良いのではないだろうか。

今回紹介するオープンソース・ソフトウェアはbuzhug、Python製のデータベースエンジンだ。

buzhugはSQLをそのまま使える訳ではないので、既存のシステムへそのまま流用できるわけではない。だが簡易的なデータしか扱わない新規開発であれば十分使えそうだ。

データはすべてファイルベースで扱う。SQLに似た構文でselect、update等を行う。結果はPythonのオブジェクトで返ってくるので、res.nameとすれば該当フィールドのデータが得られる。

可能な操作はテーブルの作成、データのINSERT/SELECT/UPDATEおよびDELETEだ。他にもカラムの追加や削除、データの行数の取得やテーブル構造の取得が可能だ。配列のように、テーブル[0]とすれば一行目を得ることもできる。オブジェクト同士で連結すれば、リレーションを組むこともできる。

他にもサーバモードとして立ち上げれば、ある程度大規模化してきても対応できる。DB=RDBMSでは無い、場合によっては良い選択肢になるはずだ。

buzhug, a pure-Python database engine
http://buzhug.sourceforge.net/

SourceForge.net: Buzhug
http://sourceforge.net/projects/buzhug