グラフデータベースに最適なアプリケーションを構築しており、Neo4Jを決定しました。私は、Neo4Jノードに特定のノードに関するデータを格納するか、単にmongo db内の項目への参照を持つかの2つの考え方をしています。MongoDBまたはNeo4Jに裏打ちされたNeo4J
(個人:名= "ビル"、年齢= 29、ID = 1)< -neo
対
(人:ID = 1、UUID = "いくつかの-UUID")< - ネオ {UUID: "いくつかの-UUID"、名= "ビル"、年齢= 29} - :
/user/{id}
<モンゴ
は、私は次のようになりますデータへのRESTインターフェイスを持つことを計画します:
- (neo)私はneoのIDで個別のユーザーを検索します。
(neo + mongo)私はmongoのユーザーを(neoに触れることなく)見つけることができます。
/user/{id}/friends
:(ネオ)は、ユーザーのすべての友達を見つけて、ノード
- (ネオ+モンゴ)をロードするユーザーのすべての友人は同上のを取得し、その後のためモンゴを照会して下さいデータ
だから、私の質問は次のようなことだと思います.Neo(パフォーマンスなど)にノードに関するすべてのデータを保存するのは面倒ですか?
おかげで、
ベンそれはあなたが実行されますあなたのデータのサイズ(構造)とクエリの種類に依存
その他のデータは保存していますか? – manonthemat
単一のデータベースを使用するか、* polyglotの永続化アプローチをとって複数のデータベースを扱うかに関わらず、実際には正解はありません。これは、データの特定の形や、各データベースの強みをどのように活用したいかということになります。あなたの例では両方を使用する場所では、neo4jにIDだけを格納しているので、その場合、Neo4jのクエリ機能をどのように活用していますか? –