2011-06-08 2 views
1

Salut je construis un distributeur d'applications fenêtre pos mais je me demandais quelle est la meilleure méthode pour concevoir la base de données. Dois-je utiliser une base de données pour stocker toutes les données de mes clients? Cela signifie que si j'ai 100 clients de différentes entreprises utilisant mon application, toutes leurs données seront stockées dans 1 base de données. par exemple. Je vais stocker une colonne de société dans le tableau des utilisateurs pour indiquer à quelle société appartient le client ou la transaction. Ma pratique actuelle est de créer une nouvelle base de données pour chaque entreprise et de l'installer dans leur machine locale. (Vous devez installer manuellement sqlserver + sqlexpress).Devrais-je simplement utiliser 1 base de données?

Pensez-vous qu'il est plus facile pour moi de concevoir de cette façon? et je peux juste mettre la base de données en ligne au serveur sql. Est-ce que je vais avoir une latence? à quel point cela sera-t-il mauvais? J'ai entendu Window Azure capable de bien gérer ça. Dans mon cas, je pense que la vitesse et la taille des données par entreprise ne sont pas vraiment une préoccupation.

Pourriez-vous conseil?

+3

http://www.brentozar.com/archive/2011/06/how-design-multiclient-databases/ –

+0

Cela a été un excellent sujet discuté auparavant. merci – VeecoTech

+0

SO a un tag pour ce genre de questions: [multi-locataire]. –

Répondre

1

Vous devriez certainement consulter d'autres alternatives dans Azure pour stocker des données, en particulier Azure Storage Tables and Blobs. L'utilisation de toutes les options de stockage Azure avec SQL Azure vous permet de choisir différents niveaux de données en fonction des besoins de votre application et de la structure de coûts souhaitée. L'exécution de tout ce qui se trouve dans SQL Azure vous coûtera plus cher à long terme, mais elle permet de relier les données fédérées pour les rapports relationnels, alors que vous pouvez stocker les données de chaque locataire dans Azure Tables en utilisant PartitionKeys qui sépare les données de chaque client des autres.

Questions connexes