J'essaie de trouver l'équivalent des clés et des index étrangers dans les bases de données NoSQL KVP ou Document. Comme il n'y a pas de tables pivotantes (pour ajouter des clés marquant une relation entre deux objets), je suis vraiment perplexe quant à la façon dont vous seriez capable de récupérer des données d'une manière qui serait utile pour les pages Web normales.Comment suivez-vous les relations d'enregistrement dans NoSQL?
Dites que j'ai un utilisateur, et cet utilisateur laisse beaucoup de commentaires partout sur le site. La seule façon que je peux penser à garder une trace de ce que les utilisateurs des commentaires est à
- Intégrer eux dans l'objet utilisateur (qui semble tout à fait inutile)
- Créer et maintenir une valeur
user_id:comments
qui contient une liste de chaque commentaire de clé [commentaire: 34, commentaire: 197, etc ...] afin que je puisse les chercher au besoin.
Cependant, en prenant le deuxième exemple, vous allez bientôt frapper un mur de briques lorsque vous l'utilisez pour le suivi d'autres choses comme une clé appelée « active_comments » qui pourrait contenir 30 millions ids dans ce qui en fait coûte une tonne à interroger chaque page juste pour connaître quelques commentaires actifs récents. Il serait également très enclin à conditions de course car de nombreuses pages pourraient essayer de le mettre à jour en même temps.
Comment puis-je suivre des relations comme les suivantes dans une base de données NoSQL?
- Tous les commentaires
- d'un utilisateur Tous les commentaires actifs
- Tous les messages marqués avec [mot clé]
- Tous les étudiants dans un club - ou tous les clubs un étudiant est en
Ou est-ce que j'y pense incorrectement?
Il n'y a pas une seule façon de le faire dans les bases de données NoSQL, cette question est plutôt un parent à demander comment je pourrais suivre les relations dans les programmes C. – stonemetal
Wow, alors je suppose que le battage autour de NoSQL remplaçant RDBMS est impossible. – Xeoncross
Oui, NoSQL est définitivement overhyped. Je ne dis pas que les nouvelles technologies ne sont pas utiles dans les bonnes circonstances, mais il est ridicule de penser qu'elles remplaceront le SGBDR. Voir http://en.wikipedia.org/wiki/Hype_cycle –