2010-06-16 22 views
2

Si j'ai de gros articles qui doivent être stockés dans une base de données, chacun associé à plusieurs tables serait une option NoSQL? Devrais-je copier les 1000 objets char sur plusieurs "buckets", les dupliquer chaque fois qu'ils sont liés à un bucket ou devrais-je utiliser une base de données MySQL normalisée avec beaucoup de Memcache?Dénormalisation d'un texte volumineux?

+0

Je ne pense pas que la normalisation soit un problème ici. Vous avez une ligne d'article dans la table où le texte est. si la conception est correcte, aucune copie n'est nécessaire – Andrey

Répondre

2

Lorsque vous stockez des données en cours de normalisation, il est essentiel et vous fera gagner du temps plus tard sur la ligne 99% du temps, même si vous pensez gagner du temps à la fois. Toujours normaliser!

En outre, vous avez un problème de terminologie, la dénormalisation se réfère à la prise de données normalisées, à leur décomposition et à leur restauration en tant que données répétées.

+1

D'accord. La seule exception à la normalisation est si vous avez des tables ÉNORMES que vous devez interroger beaucoup (et donc beaucoup de jointures). Ensuite, vous pouvez gagner un peu par la dénormalisation. Mais personnellement, je garde toujours une copie entièrement normalisée à côté d'une copie dénormalisée. Certaines queriesis sont beaucoup mieux avec un ensemble normalisé, et d'autres sont mieux avec un ensemble dénormalisé. Maintenir les deux augmente votre flexibilité (Au prix de l'espace disque et de la complexité) ... – ircmaxell