背景:オブジェクト データベースと思われるものを探しています。ただし、私が調べた (確かに少数の) オブジェクト データベースは単純な永続化レイヤーであり、本格的な DBMS ではありません。私が探しているものがオブジェクトデータベースと見なされるかどうかさえわからないので、正しい方向に私を向けるのに本当に助けていただければ幸いです。
私が探しているものを 2 ページにわたって説明したくないので、例を使用して私の要点を説明します。保存する必要がある "BlogPost" オブジェクトがあるとします。疑似コードでは、次のようなものです。
class BlogPost
title:String
body:String
author:User
tags:List<String>
comments:List<Comment>
Comment
(独自のクラスであると仮定します。)
現在、リレーショナル データベースでauthor
は、 を指す外部キーとして格納され、User.id
と はtags
、comments
関係を格納する別のテーブルを使用して、1 対多または多対多の関係として格納されます。私が欲しいのは、次のことを行うデータベース エンジンです。
- 追加のルックアップが必要な外部キーを使用する代わりに、直接参照を使用して関連オブジェクト (
author
、など) を格納します。tags
言い換えれば、互いの上にあるオブジェクトは、データベースによってネイティブにサポートされる必要があります - オブジェクト全体を取得して更新し、データベースに戻すことなく、コメントやタグをブログ投稿に追加できます (ドキュメント指向データベースのように -- CouchDB がその例です)。
私が探しているのはナビゲーションデータベースだと思いますが、わかりません。私が考えていることに少しでも似ているものはありますか?もしそうなら、それは何と呼ばれていますか?(あるいは、実際に動作するデータベースを教えてください。) それとも、私がうるさすぎますか?
編集:
明確にするために、私は ORMや抽象化レイヤーなどを探しているわけではありません。これを内部的に行う実際のデータベースを探しています。難しくて申し訳ありませんが、検索しても何も見つかりませんでした。
編集:
また、JVM 用の何かが優れていると思いますが、現時点では、それがどのプラットフォームで実行されるかはあまり気にしません。