オブジェクトDB

ObjectDB オブジェクトデータベース
開発者ObjectDBソフトウェア
安定版リリース
2.9.4 / 2025年6月13日 (2025年6月13日
書かれたジャワ
オペレーティング·システムクロスプラットフォーム
タイプオブジェクトデータベース
ライセンス独自仕様[ 1 ]
Webサイトwww.objectdb.com

ObjectDBはJava用のオブジェクトデータベースです。クライアントサーバーモードと組み込み(プロセス内)モードで使用できます。

他のオブジェクトデータベースとは異なり、ObjectDBは独自のAPIを提供していません。そのため、ObjectDBを使用するには、JPAまたはJDOという2つの標準Java APIのいずれかを使用する必要があります。どちらのAPIもObjectDBに組み込まれているため、[ 2 ] [ 3 ]、中間のORMソフトウェアは必要ありません。[ 4 ] [ 5 ]

特徴

ObjectDBはクロスプラットフォーム・ソフトウェアであり、Java SE 5以降を搭載した様々なオペレーティングシステムで使用できます。Java EEおよびSpring Webアプリケーションに統合でき、サーブレットコンテナ(TomcatJetty )だけでなく、Java EEアプリケーションサーバー( GlassFishJBoss )にもデプロイできます。[ 6 ] [ 7 ] HotSpotJRockitIBM J9など、様々なJVMでテストされています。[ 8 ]

データベースの最大サイズは128TB(131,072GB)です。データベース内のオブジェクト数は無制限です(データベースサイズによる制限を除く)。[ 8 ]

ObjectDBは、ユーザー定義のエンティティクラス、ユーザー定義の埋め込み可能クラス、標準Javaコレクション、基本データ型(プリミティブ値、ラッパー値、文字列、日付、時間、タイムスタンプ)、およびその他のシリアル化可能なクラスを含む、JPAとJDOのすべての永続化可能な型をサポートしています。[ 8 ]

データベース内のすべてのオブジェクトには一意のIDがあります。ObjectDBは、従来のオブジェクトデータベースIDに加えて、複合主キーや自動値生成・割り当てを含むRDBMSのような主キーもサポートしています。[ 8 ]これは、主にRDBMS用のAPIである JPAのサポートの一環です。

2つのクエリ言語がサポートされています。Java構文に基づくJDOクエリ言語(JDOQL )とSQL構文に基づくJPAクエリ言語( JPQL )です。JPA 2基準クエリもサポートされています。[ 8 ]

ObjectDBの自動スキーマ進化機能は、永続フィールドの追加と削除、永続フィールドの型の変更、クラス階層の変更など、クラスへのほとんどの変更を透過的に処理します。永続クラスと永続フィールドの名前変更もサポートされています。[ 8 ]

ツールとユーティリティ

ObjectDBディストリビューションには以下のツールとユーティリティが含まれています。[ 9 ]

  • データベース エクスプローラー- データベースのコンテンツを照会、表示、編集するための GUI ツール。
  • Database Doctor - 起こりうるデータベースの問題を診断し、修復します。
  • レプリケーション- 無制限の数のスレーブ ノードによるマスター-スレーブ レプリケーション (クラスタリング)。
  • オンライン バックアップ- EntityManager に対する簡単なクエリによるデータベース バックアップ。
  • クラスエンハンサー- 永続化のためにクラスを準備することでパフォーマンスを向上させます。
  • トランザクション リプレイヤー- データベース トランザクションの記録および再生。
  • BIRT レポート ドライバー- ObjectDB をBIRTデータ ソースとして追加し、 JPQL /JDOQL クエリをデータ セットとして追加します。

参考文献