[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Retour d'exp MySQL



Le Thu, Jun 08, 2006 at 08:46:59PM +0200, Franck écrivait/wrote:
> Salut la liste,
> 
> voilà, j'ai sélectionné 2 systèmes de blogs généralistes à savoir lyceum
> et WordpressMU.
> 
> Les 2 outils ont des caractéristiques proches mais pas au niveau modèle de
> données.
> WPMU duplique les tables MYSQL quand on créé un nouveau blog alors que
> lyceum insère des lignes.
> 
> Ma question est donc la suivante :
> Faut-il mieux avoir X tables dans une base ou X lignes dans une meme
> table(ou quelques tables à la rigueur) ?
> Ne me dites pas que cela dépend de la structure de la BDD, je pense que
> les concepteurs de ces 2 softs ne sont pas des novices.
> J'ai aussi oublié de vous dire que le système de blogs que je dois mettre
> en place va générer quelques milliers de blogs

J'ai une vague idée sur la question, mais c'est "théorique" - je n'ai jamais administré de grosses bases MySQL ou de gros blogs.

D'abord, je ne crois pas du tout qu'en pratique ca soit le seul facteur. Les outils de blogs ont d'autres raisons d'être peu sûrs (problèmes d'injection SQL ou PHP par exemple) ou inefficaces. Donc à dire vrai, le seul moyen serait d'essayer et de simuler.

Mais je reviens à ta question: vaut-il mieux quelques grosses tables ou des milliers de petites? A priori il vaut mieux quelques grosses tables (les SGBD ont été pensés pour ça!).

MySQL gère grosso modo quelques fichiers par tables, ces fichiers pouvant être gros si la table est grosse, et ces fichiers sont tous dans le même repertoire s'ils sont dans le même base.

Si tu as peu de tables et qu'elles sont grosses, il y a peu de fichiers, et ils sont (au moins pour leur méta-donnée, càd inode) en RAM dans le cache fichier.

Si tu as beacoup (plusieurs centaines) de tables, il y a beaucoup de fichiers dans le même répertoire, et MySQL doit soit en garder beaucoup ouverts, soit même les réouvrir assez souvent.

La question se ramenerait donc à : est-ce que le système de fichier sousjacvent est plus efficace avec beaucoup de fichiers dans le même répertoire ou non. Généralement les systèmes de fichiers n'aiment pas les très gros répertoires (à plusieurs milliers de fichiers) car souvent (c'est vrai pour Ext2, et Ext3 sans dir hashing; ca serait faux pour Reiser) l'ouverture d'un fichier dans un répertoire est de complexité linéaire en la taille du répertoire.

Celà étant dit, il y a tellement d'autres facteurs qui entrent en lignes de compte que le mieux est d'essayer.

Et l'avantage d'avoir peu de tables, c'est aussi d'avoir un schéma de données compréhensibles par l'humain....

Cordialement
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/ 
email: basile<at>starynkevitch<dot>net 
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France



Reply to: