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年以上にわたり、key/value型の非構造化トランザクション・データ・ストレージに目を向けてきました。 key/valueベースのAPIは、柔軟で、ほぼすべての構造化または半構造化データ・ストレージ・モデルをサポートしています。 Berkeley DBは、構成ファイルから電子メール、配信用分散キャッシュから階層ディレクトリ・ストレージ、ショッピング・カートからRSSアーカイブにいたる製品のストレージ・サービスを提供しています。 Berkeley DBは、InnoDBよりも前にMySQLで使用された最初のトランザクションの表タイプでした。 ストレージ・エンジン(下図のSQLiteのSQL処理ロジックを参照)としてのこの新たな用途は、Berkeley DBに自然に適合しています。

Berkeley DB - SQLアーキテクチャ

Berkeley DBはエンドユーザーが直接目にすることはありません。 SQLite APIの下に完全に隠れた状態です。 SQLiteのB-treeの代わりに、ストレージ・エンジンとして機能します。 SQLiteバージョン3 APIで記述されたアプリケーションは、コードを変更せずにOracle Berkeley DBに切り替えることができ、Berkeley DBに対して再リンクするだけです。 また、Berkeley DBの多数の高度なオプションやチューニング、パフォーマンスに関連する機能は、データベース・ファイルとともに保存されている簡単な構成コマンドで利用することができます。 Berkeley DBアダプター上のSQLiteコードに対して行った修正または拡張機能は、SQLiteコードベースに戻して提供していく予定です。

技術リソース