Je travaille sur une base de données relativement petite. Il a un total de 67 tables, avec un peu plus d'un million de dossiers. C'est environ 254 MB. L'application qui fonctionne avec elle fonctionne depuis environ 5 ans et la quantité d'utilisation a doublé chaque année. Cette année, nous prévoyons tripler ce qui va presque doubler la base de données en taille une saison. Mes questions sont, est-ce une mauvaise idée de diviser la base de données en plusieurs bases de données. Supposons que nous ayons 300 clients, il y aurait alors 300 bases de données individuelles contenant les 67 tables mais seulement des données relatives à ce client. Il n'y a pas beaucoup de raisons pour que les données soient ensemble en plus pour les statistiques internes qui peuvent être effectuées sur un serveur différent. Nous ne devrions pas devenir plus grand que 10.000 clients dans sa vie.Diviser la base de données mysql par client
Les problèmes que je vois que cette configuration est quand nous avons besoin d'apporter des modifications au schéma « base de données maître », il faudrait reproduire le changement dans l'ensemble des « bases de données esclaves »
réplication aussi serait un défi quand un nouveau client est ajouté.
L'application au niveau du code est pratiquement configurée pour ce type d'installation.
Y at-il quelque chose qui me manque? Est-ce une idée terrible?
La base de données a été créée à la hâte (pas par moi) sans aucune pensée d'avenir, et maintenant c'est ma responsabilité.
Il y a beaucoup à faire en ce qui concerne la normalisation, l'audit de type de champ, l'optimisation sql, l'indexation et le réglage du serveur. Tous commentaires serait grandement apprécié.
c'est une application web. Des modifications seraient alors apportées à un client de test, puis déployées. – rizzo0917
Oui, mais il existe une seule instance de l'application Web, n'est-ce pas? Sens qu'un seul site accède à toutes les données (Plutôt que de créer un site différent pour chaque client) ... – ircmaxell