Page 1 sur 1
MySQL - Limite nombre base de données
Posté : 08 nov. 2007, 18:50
par costadelo
Bonjour @ tous,
Je voulais connaitre le nombre de base de données limite que supporte mysql (question 1).
En effet, je souhaite attribuer à chaque utilisateur de mon site une base de donnée qui contiendra divers enregistrements spécifiques.
Est il possible de réaliser une telle architecture pour sauvegarder les informations de mes utilisateurs ? (question 2)
Sachant que chaque utilisateur peut souscrire à différents modules qui sont lié directement à une création de une ou plusieurs tables par modules dans la base de l'utilisateur. Chaque base de données sera accessible seulement par l'administrateur et l'utilisateur à qui à été attribué la base de données.
Merci pour vos réponses
Posté : 08 nov. 2007, 19:31
par Hubert Roksor
À ma connaissance, MySQL n'est limité que par le filesystem (donc plusieurs dizaines de milliers de bases de données contenant des dizaines de milliers de table). En revanche, les performances peuvent être diminuées si ton serveur utilise un trop grand nombre de tables et/ou bases. Je n'ai pas de formule pour déterminer ce nombre, mais si tu penses avoir plusieurs milliers de membres je te recommanderai fortement de faire des tests en conditions réelles d'utilisation.
Posté : 08 nov. 2007, 22:45
par costadelo
En revanche, les performances peuvent être diminuées si ton serveur utilise un trop grand nombre de tables et/ou bases.
Cela est il relatif au matériel utilisé ? (serveurs)
L'accès au bases est il plus long dans le cas où plusieurs dizaine de milliers de bases contenant plusieurs tables (maximum 50 dans mon cas précis) ?
Est il possible d'utiliser une indexation sur les bases de données pour permettre un accès plus rapide ?
Merci pour vos réponses
Posté : 08 nov. 2007, 23:09
par Hubert Roksor
Cela est il relatif au matériel utilisé ? (serveurs)
Relatif au système d'exploitation et au système de fichiers. Il n'est pas possible d'ouvrir un nombre illimité de fichiers en même temps, donc pour chaque nouvelle table ouvert il faut préalablement fermer (coupe l'accès à) une autre table. Note : MyISAM crée ~3 fichiers par table, alors qu'InnoDB ne nécessite qu'un nombre fixe de fichiers pour tout le serveur, ça pourrait peut-être t'aider.
On a pas mal d'admins en tout genre qui passent sur le forums, l'un deux en saura peut-être plus que moi.
L'accès au bases est il plus long dans le cas où plusieurs dizaine de milliers de bases contenant plusieurs tables
Mes compétences dans ce domaine sont trop limitées pour être précis j'ai bien peur. Si tu as de très nombreux fichiers alors l'accès sera forcément plus long, mais je ne saurais l'estimer. Ta meilleure option est de faire un script qui créer tes dizaines de milliers de bases/tables et qui ensuite accède à de nombreuses différentes tables, et voir ce que ça donne.
Est il possible d'utiliser une indexation sur les bases de données pour permettre un accès plus rapide ?
Non.
Posté : 09 nov. 2007, 14:05
par costadelo
Merci pour tes réponses, elles me permettent de creuser un peu plus mes recherches. Par ailleurs, pour infos, je tourne sous une openSuse 10.2.
Posté : 10 nov. 2007, 23:26
par costadelo
On a pas mal d'admins en tout genre qui passent sur le forums, l'un deux en saura peut-être plus que moi.
Quelqu'un pourrait il me renseigner d'avantage svp ???
Posté : 13 nov. 2007, 11:53
par costadelo
Toujours pas ?
Posté : 13 nov. 2007, 11:56
par Calimero
Hubert t'a donné la marche à suivre...
Ta meilleure option est de faire un script qui créer tes dizaines de milliers de bases/tables et qui ensuite accède à de nombreuses différentes tables, et voir ce que ça donne.
Tu en as pour quelques minutes à faire ce script et quelques heures à le faire tourner, qu'attends-tu ?

Posté : 28 nov. 2007, 13:34
par costadelo
J'abandonne cette idée !
Je vais tout gérer en fichiers xml, au point de vue sécurité je prend moins de risque je pense...
Merci pour vos réponses
@bientôt