Berkeley DB

Takami Torao Berkeley DB
  • このエントリーをはてなブックマークに追加

概要

Berkeley DBはカリフォルニア大バークレイ校で開発されたデータベースライブラリ。データベースと言っても RDBMS のように SQL が使用できたり関連モデルで設計されているわけではなく、ファイル上にインデックス付けされたデータ構造をプロシジャ形式のインターフェースを用いて検索、更新出来るライブラリ (Database Manager) です。現在は Oracle によってオープンソースとして管理されています。

ライブラリレベルでアプリケーションに組み込みが可能でありオーバーヘッドも少ないため RDBMS に比べて手軽でコンパクト、高速であるという利点があります。またこういった DBM の中でも Berkeley DB はトランザクションのサポートやオンラインレプリケーションが可能であるといった特徴もあります。

構成が大げさにならない事から Apache や Postfix などのオープンソースで広く使用されています。また Windows CE や VxWorks などの組み込み系や Java にも移植されています。

Solaris 10 でのインストール

Solaris 10 は Companion DVD から追加インストールすることが出来ます。

# cd /cdrom/cdrom0/Solaris_Software_Companion/Solaris_i386/Packages/
# pkgadd -d `pwd` SFWbdb

Berkeley DB を使用するアプリケーションをコンパイルする場合はライブラリパス、インクルードパスに /opt/sfw/lib, /opt/sfw/include を指定してください。また ld が libdb.so を見つけられるように /opt/sfw/lib をライブラリパスに追加します。

# crle -u -l /opt/sfw/lib
  # crle -v
  構成ファイル [バージョン 4]: /var/ld/ld.config
  デフォルトライブラリパス (ELF):   /lib:/usr/lib:/opt/sfw/lib
  ...

ソースビルドとインストール

最新版のソースは Oracle Berkeley DB のサイトからダウンロードしてください。ここでは例として db-4.6.21.tar.gz で話を進めます。

ダウンロードしたファイルを解凍し、環境ごとの build ディレクトリに移動して configure, make を実行します。

# gzip -d db-4.6.21.tar.gz
# tar xvf db-4.6.21.tar
# cd db-4.6.21/build_unix
# ../dist/configure
# make
# make install

これで実行環境に /usr/local/BerkeleyDB.4.6 に Berlekey DB がインストールされます。

アプリケーション実行時に検索対象とするには /usr/local/BerkeleyDB.X.X/lib を環境変数 LD_LIBRARY_PATH に設定するか、あるいは /lib などにシンボリックリンクを作成してください。

# ln -s /usr/local/BerkeleyDB.4.6/lib/libdb-4.6.so /lib/libdb-4.6.so