Berkeley DB

Berkeley DBとは



Berkeley DBは、アプリケーションに組み込んで利用するタイプのデータベースライブラリです。元々はカリフォルニア大学バークレー校プロジェクトから誕生し、その後Sleepycat Software社によって開発・販売されていました。2006年からはOracleによって開発・提供が行われています。オープンソースでありながら、商用利用も可能なデュアルライセンス方式を採用している点が特徴です。

歴史



Berkeley DBは、カリフォルニア大学バークレー校プロジェクトが、4.3BSDに含まれていたAT&T由来のコードを置き換える過程で生まれました。その後、Sleepycat Software社が開発・販売を行っていましたが、2006年にオラクルが同社を買収し、Oracle Berkeley DBとして、Oracleの製品群に組み込まれました。

特徴



Berkeley DBには、以下の3つのエディションがあります。

1. オリジナルのBerkeley DB: C言語で実装された、最も基本的なエディションです。UNIXに古くから存在するdbmをベースに発展しました。トランザクションレプリケーションなどの高度な機能も備えており、ロックやオンラインバックアップも可能です。C/C++言語だけでなく、PerlPythonなどの多くの言語からも利用できます。
2. Berkeley DB Java Edition: Javaのみで実装されており、Java実行環境があれば、OSやプロセッサの種類に関わらず利用できます。オリジナルのBerkeley DBと同等の機能を持ちます。
3. Berkeley DB XML Edition: XML文書の検索に特化したデータベースです。XQueryやXPathを使ってXML文書を検索できます。バックエンドにはオリジナルのBerkeley DBが利用されています。

これらのエディションは全てオープンソースとして公開されていますが、利用目的に応じてオープンソースライセンスと商用ライセンスを選択できるデュアルライセンス方式が採用されています。一般的なRDBMS(関係データベース管理システム)とは異なり、SQLのようなデータ操作言語は持たず、データベースへのアクセスはサブルーチン呼び出しを通じて行います。

オリジナル Berkeley DB の詳細



オリジナル Berkeley DBは、UNIXに古くから搭載されていたdbmを拡張したもので、アプリケーションに組み込んで利用するのに適したデータベースです。SQLのようなデータ操作言語は持たず、データベースへのアクセスは全てサブルーチン呼び出しを通じて行います。しかし、dbmとは異なり、トランザクションレプリケーションといった高度な機能が備わっています。X/Open XA|X_Open XAなどのインターフェースにも対応しており、ロックやオンラインバックアップなどの機能も提供しています。Berkeley DB本体はC/C++で実装されていますが、PerlPythonTclなど多くの言語のバインディングが用意されており、これらの言語からも容易に利用できます。

Berkeley DB Java Edition の詳細



Berkeley DB Java Editionは、Javaだけで実装されているため、Java実行環境があれば、OSやプロセッサの種類に関わらず利用できるのが大きな特徴です。データベースとしての機能は、オリジナルのBerkeley DBとほぼ同等です。Javaの移植性の高さを活かし、様々な環境で利用できます。

Berkeley DB XML Edition の詳細



Berkeley DB XML Editionは、XML文書の検索に特化したデータベースです。XQueryやXPathを使ってXML文書を効率的に検索できます。バックエンドには、安定性と信頼性の高いオリジナルのBerkeley DBが利用されており、XML文書を扱うアプリケーションに適しています。

Berkeley DBを利用するソフトウェア



Berkeley DBは、その高いパフォーマンスと柔軟性から、多くのソフトウェアでバックエンドデータベースとして利用されています。以下に、Berkeley DBを採用している代表的なソフトウェアをいくつか紹介します。

Bogofilter: スパムフィルタリングツール
GlusterFS: 分散ファイルシステム
KDevelop: 統合開発環境
OpenLDAP: LDAPサーバ
Spamassassin: スパムフィルタリングツール
Apache Subversion: バージョン管理システム
RPM Package Manager: パッケージ管理システム

かつてはMySQLやMovable Typeなどのソフトウェアでも利用されていましたが、現在は他のデータベースシステムに移行しています。

まとめ



Berkeley DBは、組み込み型のデータベースとして、高いパフォーマンスと柔軟性を持つライブラリです。オープンソースでありながら商用利用も可能で、様々なソフトウェアで採用されています。トランザクションレプリケーションなどの高度な機能も備えており、幅広い用途に活用できます。

関連項目



データベース管理システム (DBMS)
関係データベース管理システム (RDBMS)

外部リンク



Oracle Berkeley DB Product Family
* 栗田創 (2012年10月31日). “Berkeley DBの進化の歴史”. 作品データベース.

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。