J'ai couru à travers un comment qui m'a fait me demander: Si vous utilisez une approche sharding à l'évolutivité db, cela signifie-t-il que la base de données est dénormalisée? Pouvez-vous avoir une base de données normalisée et partagée?Est-ce que sharding et normalisation sont mutuellement exclusifs?
Répondre
Ils ne s'excluent pas mutuellement. Les deux sont souvent utilisés lors de la mise à l'échelle de jeux de données volumineux, mais l'un n'a pas vraiment grand-chose à voir avec l'autre. Vous pouvez absolument avoir une base de données normalisée fragmentée ... ou une base de données dénormalisée et non-durcie.
En sharding, vous prenez simplement un schéma donné (normalisé ou non) et vous le distribuez dans un certain nombre de magasins de données physiques/logiques. Cela vous permet, par exemple, d'avoir tous vos utilisateurs avec une caractéristique particulière (par exemple, le nom de famille dans 'A-D') pour vivre sur une instance de base de données donnée. Notez que la façon dont vous partitionnez votre base de données est une décision cruciale et dépendra fortement de la mise en œuvre. D'autre part, la dénormalisation peut être effectuée avec ou sans base de données fragmentée et est destinée à simplement interroger en réduisant les jointures/sous-requêtes nécessaires pour répondre à une question particulière. Bien sûr, vous maintiendrez généralement par programme l'intégrité des données.
Quelques bonne lecture:
- 1. sont l'accessiblité et anti-scrapabality mutuellement exclusifs?
- 2. HAProxy et "sharding"
- 3. Qu'est-ce que le sharding et pourquoi est-ce important?
- 4. Comment structurer les tables en modèles mutuellement exclusifs 1: n Relations?
- 5. Sharding avec SqlMembershipProvider d'ASP.NET?
- 6. Que sont DailyTrigger et ScheduledTasks?
- 7. jquery mutuellement exclusif cliquez sur
- 8. Normalisation/fixation audio?
- 9. Normalisation HTML automatique?
- 10. Adresse Normalisation/Correction/Géocodage
- 11. normalisation des caractères Javascript
- 12. NHibernate cartographie après une normalisation
- 13. modélisation et normalisation de bases de données temporelles
- 14. Envelopper les structures mutuellement dépendantes dans Pyrex
- 15. widget gwt - bouton à bascule mutuellement exclusif
- 16. Normalisation rapide des caractères ESP
- 17. Les déclencheurs SQL Server se déclenchent mutuellement Question
- 18. Que sont les "downargs"?
- 19. Motifs d'URL exclusifs dans le descripteur Tomcat web.xml
- 20. Comment fonctionne cette fonction de normalisation?
- 21. Que sont les concepts?
- 22. Que sont les discussions?
- 23. Normalisation des espaces dans les atomes Prolog
- 24. Quelle est la différence entre Page.IsPostBack et Page.IsCallBack?
- 25. Comment importer plusieurs répertoires de type branche dans git-svn qui ne sont pas des enfants exclusifs du même parent?
- 26. Est-ce que Margin et Padding sont implémentés par ContentControl?
- 27. Localisation - comment vérifier que Filename1 et Filename2 sont les mêmes
- 28. Que sont les filtres passe-haut et passe-bas?
- 29. Que sont les assertions? et pourquoi les utiliseriez-vous?
- 30. Que sont les fichiers de fonctions PHP et leurs utilisateurs?