Chez linkedin, lorsque vous visitez le profil de quelqu'un, vous pouvez voir comment vous êtes connecté à eux. Je crois que linkedin montre jusqu'à connexions 3ème niveau, sinon plus, quelque chose commeComment modéliser cette [Réseaux, détails dans la publication] dans la base de données pour une efficacité et une facilité d'utilisation?
shabda -> utilisateur Foo, l'utilisateur de la barre, l'utilisateur baz -> connexion de Joel -> Joel
Comment puis-je représenter cela dans la base de données.
Si je modèle comme,
User Id PK Name Char Connection User1 FK User2 FK
ensuite de trouver le réseau, trois niveaux en profondeur, je dois obtenir toute ma connexion, leurs connexions et leurs connexions, puis voir si l'utilisateur actuel est là . Ce serait évidemment très inefficace avec DB de toute taille, et probablement maladroit pour travailler avec. Puisque, sur lié dans je peux voir ce réseau, sur n'importe quel profil que je visite, je ne pense pas que ce soit également précalculé.
L'autre chose qui me vient à l'esprit est probablement que ce n'est pas mieux stocké dans une base de données relationnelle, mais alors quelle serait la meilleure façon de le stocker et de le récupérer?
Bonne question, je pense que cela va profiter à beaucoup de gens. +1 –