LinkedInでは、誰かのプロフィールにアクセスすると、その人とどのようにつながっているかを確認できます。LinkedInは、3レベルまでの接続を示していると思います。
shabda-> Fooユーザー、barユーザー、bazユーザー->Joelの接続->Joel
これをデータベースでどのように表現できますか。
としてモデル化すると、
ユーザー Id PK 名前文字 繋がり User1 FK User2 FK
次に、3レベルの深さのネットワークを見つけるために、すべての接続、それらの接続、およびそれらの接続を取得し、現在のユーザーがそこにいるかどうかを確認する必要があります。これは明らかに、どのサイズのDBでも非常に非効率的であり、おそらく同様に機能するのは不格好です。
リンクインでこのネットワークを見ることができるので、私がアクセスするどのプロファイルでも、これも事前に計算されているとは思いません。
私の頭に浮かぶもう1つのことは、おそらくこれはリレーショナルDBに格納しないのが最善であるということですが、それを格納および取得するための最良の方法は何でしょうか。