Oracle Berkeley DB SQL API

Oracle Berkeley DB 11gでは、リレーショナルデータに対するSQLアクセスのサポートが初めて導入されています。SQL言語とリレーショナル・データ・モデルの成功は、データセンターを超えてエンタープライズ・インフラストラクチャ全体に達し、さらにはコンシューマー・デバイス、エンタープライズ・デバイス、モバイルデバイスにまで及んでいます。SQL言語とリレーショナル・モデルは、開発者にとって絶大な価値があります。
Berkeley DBのこのバージョンでは、Berkeley DBデータ・ストレージ・エンジンを使用ように修正された、軽量なリレーショナル・データベース・ライブラリSQLiteのドロップイン互換性バージョンが提供されています。この複合製品は、よく知られたSQLiteの特色と、堅牢で拡張性に優れ、同時実行可能なBerkeley DBのストレージ機能の両方を兼ね備えています。この組み合わせにより、ベストオブブリードでフットプリントを最小化した、埋め込みのSQLデータベースエンジンが実現しました。
Berkeley DBとSQLiteは、新しいアダプタレイヤーで相互に関連付けられ、Berkeley DB APIはすべて、SQLiteインタフェースの下に隠蔽された状態です。これにより、SQLiteバージョン3 APIで記述されたアプリケーションは、Berkeley DB SQLiteライブラリに対して再リンクするだけで、コード変更をせずにOracle Berkeley DBを使用するよう切り替えることができます。これら2つの製品のアプリケーション・レベルの動作はまったく同じですが、Berkeley DBが備える高度な機能により、SQLiteアプリケーションのパフォーマンス、同時実行性、スケーラビリティ、信頼性が向上します。
Oracle Berkeley DBは15年以上にわたって、非構造化トランザクションのキー/バリュー型データストレージに焦点を合わせてきました。このキー/バリューベースのAPIは柔軟性が高く、ほぼすべての構造化または半構造化データ・ストレージ・モデルをサポートします。Berkeley DBは構成ファイルから電子メール、配信用分散キャッシュから階層化ディレクトリ・ストレージ、ショッピング・カートからRSSアーカイブまで、さまざまな製品にストレージサービスを提供します。Berkeley DBは、InnoDBよりも前に、MySQLで使用された最初のトランザクション・テーブル・タイプでした。SQLiteのSQL処理ロジックの下層で機能するストレージエンジンとしての、この新たな使用法は、Berkeley DBの性質に適合するものです。
Berkeley DBは、エンドユーザーが直接目にすることはありません。SQLite APIの下に完全に隠された状態で動作します。SQLite独自のBTREEに代わるストレージエンジンとして機能します。SQLiteバージョン3 APIで記述されたアプリケーションは、コードを変更せずに、Berkeley DBに対して再リンクするだけで、Oracle Berkeley DBに切り替えることができます。また、Berkeley DBの多数の高度なオプション、チューニングおよびパフォーマンス関連の機能が、データベースファイルとともに保存されている簡単な構成コマンドを通して使用できます。Berkeley DBアダプタ上のSQLiteコードに対して行った修正または拡張機能は、SQLiteコードベースに戻して提供していく予定です。
技術リソース
- ホワイトペーパー:Oracle Berkeley DB SQL APIとSQLite APIの比較 – 技術と性能の評価(PDF)
- ホワイトペーパー:Oracle Berkeley DB SQL APIとSQLite APIの比較 – 統合、利点、および相違点(PDF)
- リソース:BDBとSQLiteの比較(.zip)