3

グラフデータベースを構築していて、グラフ構造をモデル化する方法を考えています。アイデアは、いくつかのことに関係することができるユーザー(友人、ブログへの投稿など)を持つことです。私たちの疑問は、次のような中間ノードを使用する方がよいかどうかです。

User1 -+-> Friends -+-> User2
       |            |
       |            +-> User3
       |
       +-> Posts -+-> Post1
                  |
                  +-> Post2

または、次のように、ユーザーが所有するアイテムに直接接続する場合は、次のようになります。

User1 -+-> User2
       |
       +-> User3
       |
       +-> Post1
       |
       +-> Post2

どちらのスタイルにもメリットと問題があります。ソーシャルグラフの使用経験が豊富な方のご意見を伺うことができれば幸いです。

4

1 に答える 1

2

最初に頭に浮かぶのは、さまざまなタイプの関係が多数(数千以上)ある場合、ノードの関係の読み込みに関する現在の問題が発生することです(まだキャッシュに読み込まれていない場合)。特定のタイプの関係のみを取得したい場合でもロードされます。この読み込みの問題は、すぐに解決されると思います。

覚えておくべきもう1つのことは、友達はそれほど多くないかもしれないということです。ただし、投稿の数が増えると、投稿はすべての投稿をユーザーに直接接続するため、並べ替えの問題も発生します。そのため、ユーザーのリンクリストに投稿を入れて、最新のものを最初に配置することをお勧めします。これにより、次のように日付で自然に並べ替えられます。

ユーザー-+->Post3->Post2-> Post1
  |
  +-> User2
  |
  -> User1
于 2012-04-23T10:58:02.353 に答える