0

JavaオブジェクトをDBにマッピングして、ツリーまたはネットワークのようなガイドのようなものを作成することを考えています。各ステップをたどると、次の質問/タスク/前のアクションに依存するものなど、別のステップにつながります。(写真参照) たとえば、いくつかの前のステップを繰り返すためのサイクルを作成できるはずです。

どのデータベースを優先する必要がありますか? 標準的なリレーショナルのもので、テーブルをそれ自体 (外部キー -> 主キー) に接続して、ノードまたは OrientDB のようなドキュメントベース (グラフベース) を接続し、実際のツリーを作成しますか? db4oのようなオブジェクト指向データベースはどうですか?

パフォーマンスが向上し、実現しやすいのはどれですか?

前もって感謝します。


追加の考え: おそらく、さまざまなアクション (Web サービスの呼び出しなど) および/またはメディア (テキスト、画像、ビデオ) を 1 つのノード (ステップ) に追加し、他のステップにつながり、元のステップに戻る可能性があります。


ここに画像の説明を入力

4

1 に答える 1

1

グラフ データベースに関しては、正しい方向に進んでいると思います。OrientDB は非常にうまく機能するようです。また、もちろん、Neo4j も同様に機能するはずです。

私の意見では、リレーショナル データベースは、問題空間にうまく対応できないため、簡単に破棄できます。リレーションシップなどを保存するための適切な構造を作成できるかもしれませんが、クエリは恐ろしく複雑になります。

私が尋ねる最も重要な質問は、「クエリ言語はどのようなものですか?」ということです。通常、データの保存はそれほど難しくありません。構造を設計し、データを正常にロードできます。

しかし、クエリを実行してデータについて考える必要がある場合...クエリ言語は簡単に推論できますか? それはあなたにとって重要な概念を表していますか?

グラフに関しては、Gremlin がとても気に入っています。 https://github.com/thinkaurelius/titan/wiki/Gremlin-Query-Language

グラフの概念を伝えるための非常に自然な構文があります。OrientDBの代替としてそれをチェックアウトします。

于 2013-06-20T23:42:11.907 に答える