これはやや抽象的で一般的な質問です。多くの内部参照 (グラフのような) と多くのプロパティ (JSON のような) の両方を持つ非構造化データを永続化するためのさまざまなアプローチの固有の (および実装固有の) プロパティに興味があります。
グラフはツリーのスーパーセットであるため、グラフ DB (Neo4j など) をドキュメント DB (MongoDB など) のスーパーセットと見なすことができます。つまり、グラフ DB はドキュメント DB のすべての機能を提供し、さらにループを許可したり、ネイティブ ポインター型を持っているため、外部キー/ID を手動で逆参照する必要はありません。オブジェクト/リソースへの参照を追加する際に、以前はドキュメント ストアを使用した方がグラフ DB の方が優れていた場合に、到達する転換点はありますか? ドキュメント DB には利点がありますか (ストレージ容量、パフォーマンス?)、それとも、将来さらに参照が必要になる場合に備えて、常にグラフ DB を使用する必要がありますか?
同様に、グラフ DB とトリプルストア (RDF ストアなど) はどのように比較されますか? グラフ DB (ノードとエッジにプロパティがある) は、単純なトリプルストアのスーパーセットのようです。では、Neo4j と言うよりも実際にトリプルストアを実行する問題 (ある場合) は何ですか? (RDF ストアの利点の 1 つは、標準化されたクエリ言語である SPARQL があることです。ただし、SPARQL を好まず、短所と呼ぶ人が多いようです。)
私の質問だと思います: グラフ モデル (プロパティ付き) はあらゆる種類のデータをきれいに表現できるようですが、現実に入ったときのキャッチは何ですか? グラフ DB の問題点はパフォーマンスだと思うので、データのロード、クエリ、変更、メモリ、および永続的なストレージの要件 (ドキュメントトリプルストア)。また、水平方向のスケーラビリティはどうですか? 競技場は非常に平らであるという印象を受けました。
表現可能性を備えたグラフが、超大規模データを持たないプロジェクトの新しいデフォルト ストレージ モデルになる可能性があると思いますか? それとも、RDBMS、JSON ストア、グラフ DB が共存する 10 年間のPolyglot Persistenceの運命にあると思いますか?さらに多くのグルーコードと統合する必要がありますか?