2011-05-09 5 views
2

Je lisais les réponses à certaines des questions similaires mais cela ne m'aide pas vraiment à comprendre si j'ai pris la bonne décision. J'ai une application Web pour la gestion des ventes. J'ai décidé que chaque entreprise devrait avoir sa propre base de données.Application design unique vs plusieurs bases de données

  1. Ils ont besoin de sauvegarder leurs propres données (ce qui est facile à faire si elles ont leur propre base de données)
  2. Il est assez facile à l'échelle si je serai. Comme je peux déplacer des bases de données vers différents serveurs.

Quels sont les avantages et les inconvénients d'avoir plusieurs bases de données plutôt qu'une seule?

Répondre

1

Si les données sont contenues dans chaque base de données, je pense que votre approche est solide. La seule chose à laquelle je peux penser est que si vous déployez un changement de schéma dans une ou plusieurs des tables, vous devrez l'appliquer à la base de données de chaque client. Cela pourrait être un avantage si vous voulez mettre à jour certains et pas d'autres.

Le pro que vous avez mentionné à propos de sa facilité de mise à l'échelle en répartissant les clients entre les instances MySQL est un gros avantage. J'ai conçu il y a quelque temps une application similaire qui utilise exactement la même approche.

1

Les entreprises sont-elles complètement isolées les unes des autres? Ce que je veux dire, est-il possible que vous souhaitiez interroger des données qui couvrent plus d'une entreprise. Dire un rapport de vente pour l'année commandée par l'entreprise? Dans ce cas, une base de données unique sera plus appropriée.

De plus, à mesure que vous ajoutez d'autres sociétés, devez-vous ajouter une nouvelle base de données, créer des tables, puis modifier vos programmes d'application pour utiliser ces différentes bases de données? Cela ressemble à un cauchemar d'entretien.

La mise à l'échelle avec MySQL ne devrait pas poser de problème car plusieurs outils de réplication sont disponibles. La sauvegarde d'une seule entreprise ne devrait poser aucun problème, que ce soit avec un petit code.

+0

Les entreprises sont isolées Je ne voudrais jamais interroger plus d'une entreprise. Lorsque je mets à jour des schémas, toutes les bases de données ont le même utilisateur, donc je les parcourt et exécute la même requête. –

1

Supposons que vous avez 10 000 clients et que vous ayez besoin de changer la structure de la table Clients, comment allez-vous changer toutes les bases de données 10K?

+0

À l'heure actuelle, je montre les bases de données, je les examine et j'exécute la même requête. Cela fonctionne plutôt bien maintenant car je n'ai qu'une vingtaine de bases de données. –

Questions connexes