> Tech > SQL Azure et les fédérations

SQL Azure et les fédérations

Tech - Par iTPro - Publié le 20 novembre 2012
email

L'offre SQL Azure comporte à ce jour les services suivants dans le Cloud Azure :

SQL Azure et les fédérations

•    SQL Azure (service de base de données relationnelle)
•    SQL Azure Reporting (service de reporting)
•    SQL Azure DataSync (service de synchronisation de données)

SQL Azure est une version allégée de SQL Server 2012 hébergée dans le Cloud Azure de Microsoft, mais possède malgré tout, les principales fonctionnalités de son homologue on premise, et constitue donc une solution d’hébergement de données relationnelles dans le Cloud (solution aussi qualifiée de PaaS = Platform as a Service).

Les instances SQL Azure sont administrées via le même outil que celui utilisé pour SQL Server, SQL Server Management Studio (SSMS), ce qui simplifie la tâche des DBA et des exploitants déjà familiers avec les outils SQL Server.

Afin d’assurer la disponibilité des bases déployées dans SQL Azure et prévenir la perte accidentelle des données, chacune d’elles, est automatiquement répliquée trois fois dans des instances SQL Azure distinctes (elles-mêmes hébergées sur des nœuds distincts) au sein du même Datacenter (la duplication inter plaque océanique n’est possible que si elle est explicitement demandée).

La principale limitation de SQL Azure tient à la taille maximum des bases de données qu’il peut héberger (150 Go aujourd’hui pour l’édition Business) : on est donc très loin des seuils de volumétrie évoqués plus haut. Dès lors, SQL Azure peut-il être considéré comme une solution Big Data, et permettre d’héberger les téraoctets voire les pétaoctets d’un même jeu de données ? La réponse est oui, et la solution s’appelle les Fédérations.

Le principe consiste à définir un partitionnement logique des données (Shard en anglais) pour les tables de grande taille (ex. tables de faits), basé sur une clé de répartition (appelée clé de fédération), dont les couples (clé, valeur) seront stockés dans une base de configuration centralisée dans SQL Azure. Cette base permettra d’associer les partitions de données (chacune hébergée sur une instance SQL Azure distincte) à l’instance qui l’héberge (identifiée par son URI = Unified Resource Identifier) afin de pouvoir accéder aux données correspondantes.

La notion de Fédérations représente l’ensemble des données partitionnées d’une table. Seules les tables volumineuses sont partitionnées (tables fédérées), les tables de plus faible volume (tables de référence en général) sont répliquées sur l’ensemble des instances SQL Azure hébergeant une partition des données de la Fédération, et utilisées pour des opérations de Lookup.

Lorsqu’une requête doit parcourir les données d’une partition, elle commence par ouvrir la Fédération en précisant la valeur souhaitée pour la clé de fédération, afin de pouvoir accéder à l’instance SQL Azure concernée. Les jointures entre la table contenant la partition de données et les tables de référence également présentes sur chaque instance SQL Azure de la fédération peuvent se faire localement.

La base Root contient la configuration de la Fédération CustData basé sur la clé CustID, qui définit trois membres de fédération (shard), chacun contenant dans cet exemple, trois valeurs pour la clé de fédération.        

Les  Fédérations dans SQL Azure offrent les fonctionnalités suivantes :

•    Allocation/désallocation d’instances SQL Azure afin de gérer l’élasticité, et pouvoir ajuster les besoins en puissance et volumétrie tant à la hausse qu’à la baisse ;
•    Administration : Haute disponibilité, mises à jour, maintenance…
•    Routage : (détection du référentiel, assistance au dimensionnement)
•    Gestion des partitions :
o    Fractionner et fusionner sans baisse de la disponibilité
o    Répartition automatique des requêtes sur les différents membres de la fédération (shards)

L’ajustement automatique des partitions et du nombre d’instances SQL Azure au sein d’une fédération répond parfaitement aux principes d’élasticité du Cloud et du paiement à l’usage, et constitue donc une réelle solution de montée en charge horizontale (scale out), i.e. que la puissance et la capacité de stockage peuvent être augmentés simplement en ajoutant de nouvelles instances dans la fédération
SQL Azure DataSync est quant à lui un service de synchronisation hébergé dans le Cloud basé sur le Framework de synchronisation de Microsoft. Il permet la synchronisation bidirectionnelle des données, et offre la possibilité de partager/synchroniser simplement des données entre des instances SQL Azure et plusieurs instances SQL Server hébergées dans différents Datacenters.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 20 novembre 2012