Episode 2. Synapse Analytics sur la partie Pool SQL (qui est anciennement SQL DWH)
Lors du 1er épisode, Séverine vous a présenté le Portail Azure qui est le point d´entrée de tout projet Data sur Azure et comment créer un Data Lake Blob Storage.
Dans la suite de notre série Kezako.Data sur Microsoft Azure Data Services et lors de ce second épisode, Séverine aborde Pool SQL de Synapse Analytics,
ses fonctionnalités et son architecture. Cet épisode sera accompagné de démonstrations sur la création d´un Pool Synapse Analytics et sur la création d´objets et de requêtes,
l´utilisation de Polybase et la notion de CTAS.
"Bonjour à tous et bienvenue pour ce deuxième épisode de Kézako.data Azure Data Services.
Aujourd´hui, je vous présente Synapse Analytics sur la partie Pool SQL qui est anciennement SQL Data Warehouse.
Je me présente, je suis Séverine Capon, Architecte Data chez Kwanzeo.
Lors du premier épisode, je vous ai présenté le Portail Azure qui est le point d´entrée de tout projet Data sur Azure et lors de la démonstration, j´ai créé un Data Lake Blob Storage.
Aujourd´hui, je parlerai du Pool SQL de Synapse Analytics.
Je vais aborder les points suivants :
1. Présentation Pool SQL de Synapse Analytics
- Ses fonctionnalités
- Son architecture
2. Démonstration
- Création d´un Pool Synapse Analytics
3. Démonstration
- Création d´objets et de requêtes avec l´utilisation de Polybase et de la notion de CTAS
1. Présentation
> Fonctionnalités d´un Pool SQL de Synapse Analytics sont :
- Le Big Data
C´est une des ressources sous Azure qui permet de gérer de la Big Data grâce à l´utilisation de Polybase.
Polybase qui est une technologie qui permet de requêter directement sur des Data Lake très larges et aussi grâce à l´utilisation de ?stockages en colonne qui permettent une très grande rapidité d´exécution des requêtes. La taille des Tables en Cluster Column Store est illimitée sur un Pool SQL Synapse Analytics.
- Massivement Parallèle
Deuxième fonctionnalité, c´est son Architecture dite « Massivement Parallèle » ou MPP permettant une montée en charge très rapide. Cette montée en charge, elle est possible par le Portail en montant sa capacité de calcul donc les nombres DWU qui représente, entre autres, le nombre de Nœuds.
- Donnée Structurée
Un Pool SQL Synapse Analytics? stocke la donnée sous la forme de tables/colonnes, ce qui va permettre des analyses très simples et rapides et pourquoi pas de faire directement les rapports et les Dashboards Power BI entre autres sur un Pool SQL Azure Synapse Analytics.
- Langage de développement
Le langage de développement et de requêtage reconnu pour un Pool Azure Synapse Analytics (Pool SQL) est le T-SQL.
> Architecture MPP
L´Architecture « Massivement Parallèle » d´un Pool SQL Azure Synapse Analytics est basée sur le mode contrôle qui lui va recevoir les requêtes des utilisateurs ou des applications et va les dispatcher via l´engine massif « massifié par les proccessing » au mode de calcul et la donnée est quant à elle déplacée grâce au Système de Gestion de donnée du DMS.
Donc, vous voyez bien que sur l´Architecture que lorsque que vous augmentez le nombre de DWU automatiquement ce que fait Azure c´est qu´il rajoute des nœuds (un ou plusieurs nœuds).
Le Système de Gestion de la Donnée (DMS) déplace la donnée entre les nœuds en fonction du besoin.
On a la main sur la distribution des données grâce à la notion de distribution que les Développeurs vont devoir mettre lors de la distribution des Tables.
Il existe trois algorithmes de distribution sur un Pool SQL :
1 - Hachage : qui est conseillé pour les Tables qui sont supérieures à 2 Go.
Les clés de Hachage sont calculées à partir des valeurs qui sont contenues dans les colonnes à prendre en compte qui doivent permettre une distribution uniforme. Il est conseillé de prendre des colonnes qui interviennent dans des jointures. ?Il est déconseillé de prendre les colonnes qui interviennent dans la partie Where des requêtes. Il est également fortement déconseillé de prendre des colonnes de type “Date” qui par nature ne sont pas uniformes et rentrent en compte dans la partie field where des requêtes.
2 - RoundRobin : distribution aléatoire, uniforme et non optimisée des données. ?Le développeur quand il choisit une distribution de type RoundRobin n´a pas à indiquer les colonnes qui vont servir de clés de Hachage d´où le côté non optimisé.
3 - Réplication : Il est conseillé d´utiliser cet algorithme de distribution pour des Tables inférieures à 2 Go. Copie de l´ensemble des données sur tous les nœuds de la table.
2. Démonstration : Création d´un Pool SQL Synapse Analytics
Pour créer un Pool SQL Synapse Analytics, il suffit de se mettre sur la Resource Group ou l´on souhaite créer le Pool SQL.
Cf. Démo ci-dessus.
3. Démonstration : Création d´objets et de requêtes avec l´utilisation de Polybase et de la notion de CTAS
Cf. Démo ci-dessus.
Merci d'avoir suivi ce deuxième épisode de Kezako.data Azure Data Services !
Pour les prochains épisodes, je vais aborder Azure Data Factory (Episode 3), Azure SQL DB (Episode 4) et deux notions aussi qui sont chères à mon cœur qui sont l'Infra As Code (IaC) sur les ressources Data (Episode 5) et
l'intégration continue ou le déploiement continu (CI / CD) pour la notion de Data (Episode 6) et les Databricks (Episode 7).
N'oubliez pas de vous abonner à notre chaîne YouTube et pour toutes questions ou projets, contactez-moi par mail à : [email protected] ou en remplissant le formulaire.
Séverine"