Berkeley DB Java Editionチュートリアル

2899 ワード

目次:
  • 概要
  • 特性
  • ダウンロード
  • 参照
  • [一]、概要
    Berkeley DBは歴史ある組み込みデータベースシステムで、06年にOracleに買収された.OracleのWebサイトでは、BerkeleyDB、BerkeleyDB XML、BerkeleyDB JAVA Editionの3つが表示されます.簡単に言えば最初はBerkeleyDBはC言語バージョンのみでしたが、JAVAも使えますが、JNIで呼び出す必要があるだけで、効率は少し影響するかもしれません.その後JAVA Editionを出て、純JAVAで一度実現しました.つまり、私たちが見たBerkeleyDB JAVA Edition(JEと略称)です.
    JEは共通のトランザクション保護で、100%純粋なJava(JEはJNI呼び出しを行わない)で作成された組み込みデータベースです.そのため、Java開発者に任意のデータの格納と管理を安全かつ効率的に提供します.
    JEは一連のJava APIで使用できます.これらのAPIでは、データの読み書き、データベースの管理、トランザクションの管理など、より高度なアクティビティを実行できます.JEと対話するJava APIには2つの基本形式がある.1つ目は、Javaクラスの持続性を向上させる高レベルのAPIです.2つ目は、JEデータベースとのさらなる柔軟性を提供する低レベルのAPIです.
    公式サイト:http://www.oracle.com/technetwork/products/berkeleydb/overview/index.html
    [二]、特性
  • 大規模なデータベースのサポート:1~数百万レベルのデータ量をサポートし、データベースのサイズ制限は基本的にハードウェアのサポートに制限されています.
  • Database Environment:Database Environmentは、1つのユニットのカプセル化と1つ以上のデータベースの管理を提供します.Database Environmentは、メモリ内のキャッシュやバックグラウンドスレッドなどの内部リソース管理の単位でもあります.最後に、同時性とトランザクションを管理するために使用します.すべてのアプリケーションでJEを使用するには、Database Environmentを使用する必要があります.
  • マルチスレッド、マルチプロセスサポート:JEはマルチスレッドを制御するために設計されています.読み書き操作は、マルチスレッドであってもよい.JEは、レコードレベルのロックを使用してスレッドアプリケーションに高い同時性を提供します.さらに、JEは、デッドロックタイムアウト検出のメカニズムを使用して、2つのスレッドの無期限のデッドロックがないことを保証する.JEは、複数のプロセスが同じDBにアクセスできるようにしているが、この場合、Berkeleyは1つのスレッドのみが書き込み操作を許可し、読み取り操作は任意である.
  • トランザクション:原子性、リカバリ可能、隔離性.
  • メモリCache:IO操作を減らしてパフォーマンスを向上させるため、メモリにデータを一時保存します.
  • インデックス.
  • ログ・ファイル:JEデータは、プライマリ・ディレクトリの次の数値ネーミングに格納されるログ・ファイルです.ログ・ファイルは一度に作成され、プラットフォーム間での移植に非常に便利です.
  • バックグラウンドスレッド:JEは、内部リソースを管理するためのいくつかのスレッドを提供します.checkpointerは、データベース内のデータをディスクにリフレッシュする責任を負います.compressorスレッドは、削除アクティビティによって生成されたサブツリーが空のデータであることをデータベースから削除する.cleanerスレッドは、不要なログファイルのクリーンアップと削除を担当し、ディスク容量を節約します.
  • バックアップとリカバリ:JEのバックアップはlogファイルcopyを安全な記憶媒体にすることであり、災害後の再構築の方法はバックアップのログファイルを取り出し、元の位置に置いて、JEを再起動すればよい.

  • [三]、ダウンロード
    2012-08-22までの最新バージョンは5.0.58で、公式サイトでダウンロードできます(アカウントを登録する必要があります).
    Mavenコンストラクションプロジェクトの場合は、POM.xmlに次のように追加できます.
     
      < dependency >
      < groupId >com.sleepycat groupId >
      < artifactId >je artifactId >
      < version >4.0.92 version >
      < type >jar type >
      < scope >compile scope >
      dependency>
    のリポジトリのバージョンは4.0.92に されていません
    [ ]、
    http://docs.oracle.com/cd/E17277_02/html/GettingStartedGuide/introduction.html
     
  • Berkeley DBチュートリアルの1つ:
  • Berkeley DBチュートリアルの2:
  • Berkeley DBチュートリアルの3:データの み きのいくつかの の
  • Berkeley DBチュートリアルの4:オブジェクトの み きを する
  • Berkeley DBチュートリアルの5: アプリケーション