Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 11h18   #1
Invité régulier
 
Inscription : novembre 2005
Messages : 22
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 22
Points : 6
Points : 6
Par défaut 1000 bases vs une grosse

Bonjour à tous,

Je suis en phase de conception d'un projet multi utilisateurs qui au départ sera une sorte de blog (un pour chaque utilisateur) auquel seront ajoutées de multiples fonctionnalités par la suite.

Sachant qu'il devrait y avoir quelques milliers d'utilisateurs, je me demande quelle est la meilleure solution à adopter pour l'architecture du système, tout ça avant tout dans un souci de performances, sans parler de la maintenance :

1) une seule base de données dont chaque table aurait une colonne "userid"
et qui pourrait grossir très vite ?

2) 1000 petites bases de données séparées ?

L'accès à de petites bases, donc des fichiers séparés, est-il plus performant que l'accès à une grosse table indexée ?
Peut-être que ça dépend aussi de la taille des tables ? Est-il préférable d'avoir une table avec 1 million d'enregistrements ou bien 1000 tables avec 1000 enregistrements ?

Joyus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 14h03   #2
Invité de passage
 
Inscription : avril 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 1
Points : 1
Points : 1
bonjour,

Si tu n'as pas de taille limitée pour la base, il vaut mieux en créer une seule pour les raisons suivantes :
- une seule base reste mieux gérable que 1000 bases en terme de sauvegarde, restauration, maintenance et surveillance
- les performances ne se dégradent pas forcément par rapport à la quantité des données stockée mais aussi par d'autres éléments : la conception du schéma (choix des tables, index, requêtes, procédures,...), les traitements et le paramétrage serveur.

Par ailleurs, tu peux utiliser le partitionnement

Bon courage
abdelbasset est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 15h07   #3
Invité régulier
 
Inscription : novembre 2005
Messages : 22
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 22
Points : 6
Points : 6
Ma foi, le partitionnement me semble une bonne option
Merci pour ta réponse.
Joyus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 10h07   #4
Invité régulier
 
Inscription : novembre 2005
Messages : 22
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 22
Points : 6
Points : 6
Bon, je ne connaissais pas le partitionnement mais je vois qu'il faut définir le nombre de partitions à la création, ce n'est donc pas la solution idéale.

Mais sachant que sur le millier d'utilisateurs, il y en aura tout au plus 10% d'actifs, je pense que je vais me tourner vers une seule base. Les index et le cache mysql devraient faire le travail
Joyus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h10.


 
 
 
 
Partenaires

Hébergement Web