製品情報

Oracle BerkeleyDB ファミリー

業界最高水準の組み込みデータベース

Oracle BerkeleyDB ファミリー

高速でスケーラブルなトランザクション型データベース・エンジン

オープン・ソース組み込みデータベース・ファミリーの「Berkeley DB」は、アプリケーションに高速でスケーラブルなトランザクション型データベース・エンジンの組み込みを可能にします。

■「Berkeley DB」が適するアプリケーション例
  • パフォーマンスが重視される
  • 無人実行が必須である
  • アクセス・パターンを予測できる(動的データに対する静的問い合わせ)
  • ローカル格納、インプロセス処理が好まれる
  • 障害リカバリーを自動的に行う必要がある
  • 高可用性と耐障害性が不可欠である
  • TCO (Total Cost of Ownership)が重要な要素となる
■適用分野
  • 全世界で2億本以上の稼動実績
  • 携帯電話等のモバイル端末
  • ゲートウェイ、ネットワークなどのシステム管理
  • インターネットサービスのパーソナライゼーション
  • 証券取引システムなのどの金融サービス
比較項目 TimesTen BerkeleyDB 特長
高性能 マイクロ秒レスポンス性能
最大データサイズ 1TB 256TB
レプリケーション 「TimesTen」は多様なレプリケーション方式をサポート

Oracle Databaseとの

接続性

「TimesTen」はCache Connect to Oracleにより、柔軟な連携が可能

SQL対応

「TimesTen」はSQL’92をサポート

セキュリティ

「Berkeley DB」はデータベースファイルの暗号化に対応
Zero Administratior データベース管理がシンプル

フットプリント

6MB 370-500KB

主な特長

長年の評価を誇る可用性、耐障害性に優れた組み込みDB

■「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の中心メンバーは、現在もオラクル・コーポレーションの組み込みデータベース部門の中軸スタッフとして、同製品の開発とサポートを継続しています。

仕様

「BerkeleyDB」製品ラインアップ

「BerkeleyDB」には、次の3つのエディションがあります。それぞれの特長は、以下の通りです。

1.「BerkeleyDB」
  • C言語で開発されており、C、C++、Java、そのほかスクリプト言語用のAPIを保有
  • さまざまなプロセスやスレッドでも混在が可能
  • トランザクションはフルサポートで、複数の分離レベルを提供
  • プログラムによる運用と管理を実現する「ゼロ」アドミニストレーション
  • XAやレプリケーションをサポート
  • テーブルはメモリ上、ディスク上、あるいはその混在に対応
  • 500KB程度の軽量サイズ
  • レコードサイズの上限は4GB、テーブルサイズの上限は265TB
  • 128bitキーによるデータ暗号化
2. 「Berkeley DB XML」
  • XPATH 2.0、XQuery 1.0でXMLをネイティブサポート
  • 一つのデータベースでXMLデータと非XMLデータの併用が可能
  • 柔軟なインデックス作成機能、コストベースのクエリ最適化*
  • 柔軟なストレージ制御(ノード単位あるいはドキュメント全体)
  • ドキュメントの部分的なアップデートが可能
  • スキーマをサポート(検証含む)
  • どのようなURIからでもドキュメントの参照が可能
  • ドキュメントや結果セットをDOMのようにナビゲーション可能

*ただし現在の製品には、フルテキストサーチ機能はありません

3. 「Berkeley DB Java Edition」
  • Javaで実装した「Berkeley DB」
  • 同一の設計思想
  • 新しい言語で新しいランタイムを構築
  • JARファイルが一つなので、配布やインストールが容易
  • アプリケーション・コードと同じJVMで実行
  • シングルプロセス、マルチスレッドによるデータアクセス
  • Java Collections、Direct Persistence LayerによるAPIを追加
  • 435KB程度の軽量サイズ

「Berkeley DB」製品ラインアップ図

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
「Berkeley DB」をフルスペックで利用可能なセットです。

■Transactional Data Store
複数レコードに対し同時Read&Writeが可能で、トランザクション保証とリカバリー機能も含まれます。

■Concurrent Data Store
単一レコードに対する書き込みと同時に複数セッションの読み込みが可能となります。

■Data Store
読み込み、書き込みを同時に行うことができません。読み込み処理中心のDBに適したセットです。

メーカー情報