2010-11-23 8 views
1

Nous avons une application qui doit interagir avec 3 bases de données différentes (SQL Server) pour récupérer les détails de l'utilisateur et les afficher sur une page Web. Est-ce une bonne option pour utiliser un serveur lié ou devons-nous copier les détails de l'utilisateur (via un travail quotidien) dans la base de données de l'application? L'utilisation d'un serveur lié vous donne un délai d'aller-retour chaque fois que vous interrogez les données.Serveur lié vs intégration

+0

Y a-t-il une autre architecture que vous pourriez utiliser? Peut-être utiliser votre couche de service/couche d'affaires pour récupérer les 3 ensembles de données de vos bases de données puis joindre les données dans la méthode de service/entreprise et retourner les résultats? – Kane

Répondre

1

Si vous interrogez uniquement les données une fois par jour ou par session, cela peut être acceptable. Cependant, si vous lancez de nombreuses requêtes sur ces serveurs, vous pouvez constater que les performances sont si faibles que votre application est inutilisable.

Vous pouvez utiliser la réplication SQL pour pousser (ou extraire) les données de chacun des serveurs dans une copie locale sur le serveur d'applications. Cela vous permettra d'obtenir de meilleures performances de requête (pas de délai d'aller-retour) tout en vous assurant que vous disposez des dernières données. Il y a beaucoup d'options avec la réplication SQL, vous devriez être capable de trouver quelque chose qui convient à vos besoins.

Pour plus d'informations sur la réplication SQL voir http://technet.microsoft.com/en-us/library/ms151198.aspx

0

Un serveur lié ne va permettre à vos bases de données de parler les uns aux autres. Si l'application interagit avec trois bases de données discrètes, vous avez simplement besoin de connexions discrètes. Je recommanderais fortement d'utiliser les serveurs liés sauf si vous déplacez beaucoup de données (puisque le ramasser dans l'application et le mettre dans une autre base de données peut prendre encore plus de temps).