Berkeley DBとは?
Berkeley DBは、ミッションクリティカルなリアルタイム・アプリケーションに最適な組み込みデータベースです。350KB〜というきわめて小さなフットプリントで動作し、高いスループット、リアルタイム・レスポンス、低レイテンシを実現したほか、マルチスレッドやリカバリ機能もサポートしています。
応用範囲は幅広く、携帯電話などの小型デバイスから巨大な株式市場のシステムに至るまで、世界中で約2億台コンピュータやデバイス上で利用されています。大量のデータを扱いながら高速なレスポンスを実現し、導入後の
データベース管理も不要なことから、数々の大規模ポータルサイトなど、多くのインターネット・サービスでも利用されています。
BSD UNIXのデータベースとして開発されたBerkeley DBは現在、Linuxのすべてのディストリビューション、そしてMac OS X、Solarisと、動作環境も拡張されています。また、ソフトウェア・ライブラリの形式で提供され、すべてのプログラムソースが完全公開されるため、開発者は安心してアプリケーションに組み込むことができます。
Berkeley DBの歴史
Berkeley DBは1990年代初頭、カリフォルニア大学バークレー校で誕生しました。UNIXの開発を手がけていたAT&Tのライセンス方針の変更に伴い、BSD UNIX標準のデータベースであったdbmに代わる標準データベースとして開発された銅製品は、dbmのアーキテクチャを継承しつつソースコードが最適化され、キーと値ペアのシンプルな構造をもつ柔軟なデータベースとして評価されました。
その後1990年代後半に入り、Netscapeが自社製品に組み込むデータベースとしてBerkeley DBを採用しました。今日のBerkeley DBの根幹をなす機能のほとんどは、この時期に実装されています。
1996年には、BSD UNIXの開発に深く関わっていた業界のスペシャリストを中心に、Berkeley DBの開発を担う企業としてSleepycat Softwareが設立されました。その10年後の2006年2月、オラクル・コーポレーションによる同社の買収を機に、Berkeley DBはオラクルの組み込みデータベース製品となりました。 SleepyCatの中心メンバーは、現在もオラクル・コーポレーションの組み込みデータベース部門の中軸スタッフとして、同製品の開発とサポートを継続しています。
Berkeley DB製品ラインナップ
Berkeley DBには次の3つのエディションがあります。それぞれの特長は、以下のとおりです。
1. Berkeley DB
- C言語で開発されており、C、C++、Java、その他スクリプト言語用のAPIを保有
- さまざまなプロセスやスレッドでも混在可能
- トランザクションはフルサポートで、複数の分離レベルを提供
- プログラムによる運用と管理→「ゼロ」アドミニストレーション
- XAやレプリケーションをサポート
- テーブルはメモリ上、ディスク上、あるいはその混在に対応
- 500KB程度の軽量サイズ
- レコードサイズの上限は4GB、テーブルサイズの上限は265TB
- 128bitキーによるデータ暗号化
2. Berkeley DB XML
3. Berkeley DB Java Edition
- Javaで実装したBerkeley DB
- 同一の設計思想
- 新しい言語で新しいランタイムを構築
- JARファイルが1つなので、配布やインストールが容易
- アプリケーション・コードと同じJVMで実行
- シングルプロセス、マルチスレッドによるデータアクセス
- Java Collections、Direct Persistence LayerによるAPIを追加
- 435KB程度の軽量サイズ
 
Edition |
Feature Set |
複数 レコード 同時 読み込み |
読込み・ 書込み 同時実行 |
複数 レコード 同時 書き込み |
トランザ クション 保証と リカバリ |
レプリケーション 機能 |
|
Berkeley DB
|
High Availability |
○ |
○ |
○ |
○ |
○ |
Transactional Data Store |
○ |
○ |
○ |
○ |
× |
Concurrent Data Store |
○ |
○ |
× |
× |
× |
Data Store |
○ |
× |
× |
× |
× |
|
Berkeley DB Java Edition
|
High Availability
|
-
|
-
|
-
|
-
|
-
|
|
Transactional Data Store
|
○
|
○
|
○
|
○
|
○
|
|
Concurrent Data Store
|
○
|
○
|
×
|
×
|
×
|
|
Data Store
|
-
|
-
|
-
|
-
|
-
|
|
Berkeley DB XML
|
High Availability |
○ |
○ |
○ |
○ |
○ |
Transactional Data Store |
○ |
○ |
○ |
○ |
× |
Concurrent Data Store |
○ |
○ |
× |
× |
× |
Data Store |
○ |
× |
× |
× |
× |
|
■High Availability
Bekeley DBをフルスペックで利用可能なセットです。
■Transactional Data Store
複数レコードに対し同時Read&Writeが可能で、トランザクション保証とリカバリ機能も含まれます。
■Concurrent Data Store
単一レコードに対する書込みと同時に複数セッションの読込みが可能となります。
■Data Store
読込み、書込みを同時に行なう事が出来ません。読込み処理中心のDBに適したセットです。
もっと詳しいBerkeley DBのご紹介はこちら

|