Conception d'applications pour utiliser des serveurs de bases de données fédérés
Les vues distribuées partitionnées pouvant être mises à jour prennent en charge les groupes de serveurs SQL Server 2005 qui participent au traitement de la charge de travail des bases de données des plus grands sites Web à plusieurs niveaux. Alors que chaque serveur est administré individuellement, les instances de SQL Server 2005 sur chaque serveur utilisent des vues distribuées partitionnées pour partager le travail. Un groupe de serveurs autonomes se partageant le travail est une fédération.
Vous construisez des serveurs de bases de données fédérés en créant des bases de données sur chaque serveur, puis en partitionnant les tables entre les bases de données. Chaque table initiale est divisée en une table membre sur chaque serveur membre. Chaque table membre a un sous-ensemble des lignes de la table d'origine. La table d'origine est partitionnée horizontalement entre les tables membres. Lorsque de la conception d'un système de base de données fédéré, partitionnez toutes les tables de sorte que toutes les données associées se trouvent sur le même serveur membre.
Lors du partitionnement des tables entre un ensemble de serveurs de base de données fédérés, on obtient un ensemble de règles de routage de données. Une application peut faire correspondre un élément de données d'une demande utilisateur aux règles de routage de données. Cette opération lui permet de déterminer le serveur membre qui détient la plupart des données requises par les instructions SQL que l'application doit générer pour satisfaire la demande utilisateur. Pour plus d'informations, consultez Création de serveurs de base de données fédérés.
Dans une architecture à plusieurs niveaux, un système est mis en œuvre dans les niveaux suivants :
- Niveau de services utilisateur. Il s'agit d'un ensemble de clients légers qui se concentre sur la gestion de l'interface utilisateur de l'application. La couche de services utilisateur appelle la couche suivante pour mettre en œuvre les fonctions de gestion requises pour prendre en charge les requêtes utilisateur.
- Niveau des services de gestion. Ensemble de composants COM+ qui encapsule la logique de gestion de l'organisation. La couche des services de gestion utilise la couche suivante pour tous les stockages de données permanents nécessaires.
- Niveau des services de données. Ensemble de composants, notamment les bases de données SQL Server, pouvant stocker des données dans un support permanent. Ce niveau est chargé d'assurer la conservation des données.
La couche des services de gestion est conçue comme un ensemble de composants COM+ exécutés sur des serveurs d'application. Ceci permet au service d'équilibrage de charge réseau de Microsoft de distribuer les requêtes utilisateur de façon uniforme dans la couche de gestion. Puisqu'une requête utilisateur peut être traitée sur n'importe quel serveur d'application, les composants de gestion doivent disposer d'un mécanisme permettant d'acheminer au serveur membre approprié les instructions SQL qu'ils génèrent. Les composants de gestion doivent être en mesure de faire correspondre un élément des données reçues du client aux règles de routage de données, afin de déterminer le serveur membre qui devra traiter la requête.
Un mécanisme souple de mise en œuvre de l'acheminement des données dans la couche de services de gestion consiste à stocker les règles de routage dans une mémoire permanente, telle que SQL Server 2005 ou Windows Active Directory, et de faire en sorte que les composants de gestion les récupèrent au moment de l'exécution. Vous pouvez coder un composant COM+ qui fera correspondre les clés aux règles de routage, afin de déterminer le serveur membre le plus efficace pour traiter la requête. Ce composant de routage COM+ peut ensuite être appelé par un autre composant COM+ du niveau des services de gestion devant accéder aux données partitionnées. Par exemple, dans un système accédant à des données client partitionnées sur une identification client, vous pouvez procéder comme suit :
- Créer une table de règles de routage enregistrant les clés maintenues sur chaque serveur membre.
- Créer un composant de gestion du routage des données qui utilise en entrée une valeur de clé unique ou les clés de départ et de fin dans une plage de valeurs de clé. Le composant COM+ lit la table des règles de routage, compare la clé ou la plage de clés d'entrée aux plages de clés enregistrées pour chaque serveur membre, puis retourne le nom du serveur membre présentant la meilleure correspondance aux composants ou à l'application d'appel.
- Coder les composants ou les applications du niveau des services de gestion générale pour appeler toujours le composant de routage de données lors de l'exécution d'une instruction SQL faisant référence à la vue partitionnée. Le composant de gestion utilisera le nom de serveur retourné par le composant de routage des données pour sélectionner la connexion de base de données sur laquelle exécuter l'instruction SQL.
Cette méthode n'impose aucune modification au code d'application lors de la modification du partitionnement des données. Les règles de routage des données peuvent être modifiées pendant l'exécution des applications.
Voir aussi
Concepts
Utilisation des vues partitionnées