measurement-and-instrumentation
Azure Synapse Analytics pour Big Data et l'entreposage de données
Table of Contents
L'augmentation des plateformes analytiques unifiées
Les entreprises modernes génèrent de grandes quantités de données à partir de systèmes transactionnels, de dispositifs IoT, de médias sociaux et d'applications opérationnelles. Les entrepôts de données traditionnels ont du mal à gérer la variété et la vitesse de ces informations, tandis que les silos de données massives séparent les systèmes de fragmentation et de gouvernance. Azure Synapse Analytics s'attaque à cette fracture en fournissant un service d'analyse unifié qui regroupe le traitement de données massives et l'entreposage de données sous une seule couche de gestion.
Capacités de base de l'analyse Azure Synapse
Azure Synapse est conçu comme un service d'analyse sans limite qui sépare le calcul du stockage, permettant une échelle de ressources indépendante. Il combine les moteurs de Big Data comme Apache Spark avec l'entreposage de données d'entreprise via des pools SQL dédiés et SQL sans serveur. Cette convergence signifie que les ingénieurs et analystes de données peuvent travailler dans le même environnement en utilisant des langages comme T-SQL, Python, Scala et .NET. La plate-forme comprend également des pipelines intégrés d'intégration de données (Synapse Pipelines) et une intégration profonde avec Power BI et Azure Machine Learning, en rationalisant le chemin des données brutes aux idées actionnables.
Traitement des données massives avec Apache Spark
Azure Synapse fournit des piscines Apache Spark natives qui peuvent être fournies en quelques secondes. Ces piscines permettent de gérer des transformations de données à grande échelle, des analyses en continu et des modèles d'apprentissage automatique. Les ingénieurs en données peuvent écrire des carnets PySpark ou Scala dans l'espace de travail Synapse Studio, en tirant parti des bibliothèques Spark familières pour les emplois ETL. Le couplage étroit avec Azure Data Lake Storage Gen2 permet à Spark d'accéder aux données sans les déplacer, réduisant ainsi la latence et les copies en hauteur.
Entreposage de données d'entreprise avec des pools SQL dédiés
Pour les données structurées et les analyses à haute performance, Azure Synapse propose des pools SQL dédiés (anciennement SQL Data Warehouse). Ces pools utilisent une architecture de traitement massivement parallèle (MPP) pour distribuer l'exécution des requêtes sur plusieurs nœuds, permettant des réponses de requêtes sous-secondes sur des téraoctets de données. Vous pouvez choisir entre des niveaux optimisés par ordinateur et des niveaux optimisés par données, et pause/reprise du pool pour contrôler les coûts lorsque la charge de travail est inactive. L'interface T-SQL est entièrement compatible avec SQL Server et Azure SQL Database, rendant la migration simple pour les professionnels SQL existants.
SQL sans serveur pour les requêtes sur demande
Au-delà des piscines dédiées, Azure Synapse comprend un paramètre SQL sans serveur qui vous permet de consulter directement les données des fichiers d'Azure Data Lake ou Blob Storage en utilisant T-SQL standard. Il n'est pas nécessaire de fournir ou de gérer des serveurs; vous êtes facturé uniquement pour la quantité de données numérisées. Ceci est idéal pour l'analyse ad-hoc, l'exploration de données et la transformation des données brutes dans le lac sans le déplacer dans un entrepôt. Le modèle sans serveur prend également en charge la requête de données semi-structurées comme les fichiers JSON, Parquet et CSV, ce qui en fait un outil flexible pour les architectures de data lakehouse.
Caractéristiques clés en détail
L'article original énumérait plusieurs caractéristiques à un niveau élevé. Ci-dessous, chacune est élargie avec des implications pratiques et des détails techniques.
Plateforme unifiée
Contrairement aux générations précédentes où vous aviez besoin d'outils distincts pour l'ETL, l'entreposage des données et le traitement des données massives, Synapse Studio propose des interfaces code-premier et bas code. Cette unification réduit le coût de la commutation entre les interfaces UI et simplifie la gouvernance car tous les actifs – lignes de lecture, ordinateurs portables, scripts SQL, ensembles de données – sont stockés et gérés de manière centralisée. Elle permet également une collaboration cross-team ; les data savants peuvent accéder aux mêmes ensembles de données que les analystes BI sans les quitter manuellement.
Échelle
Pour les pools SQL dédiés, vous pouvez calculer les ressources en quelques minutes via le portail Azure, T-SQL ou PowerShell, en s'adaptant aux nouvelles demandes de charge de travail. L'architecture sépare le calcul du stockage, de sorte que l'échelle ne nécessite pas de mouvement de données. Pour les pools Spark, vous pouvez configurer le nombre de nœuds et la taille des nœuds par session, et les autoéchelles de pool basées sur le parallélisme de travail.
Intégration des données
Azure Synapse comprend Synapse Pipelines, un service ETL/ELT basé sur le cloud dérivé de Azure Data Factory. Avec plus de 100 connecteurs intégrés, vous pouvez ingérer des données provenant de bases de données sur site, d'applications SaaS (Salesforce, Dynamics 365), de services Azure (Blob, Data Lake, Cosmos DB) et de sources de cloud tierces (Amazon S3, Google BigQuery). Pipelines supportent des activités de flux de données qui peuvent effectuer des transformations à l'échelle à l'aide de grappes Spark. Vous pouvez planifier ou déclencher des pipelines basés sur des événements, en veillant à ce que les données soient toujours fraîches pour l'analyse.
Analyse avancée
L'intégration native avec Azure Machine Learning[ vous permet de former, déployer et gérer des modèles directement depuis Synapse Studio. Vous pouvez utiliser des carnets Synapse pour explorer les données et construire des modèles à l'aide de Python ou R, puis enregistrer le meilleur modèle dans l'espace de travail ML et le déployer comme un point de référence REST. L'intégration Power BI est également transparente : vous pouvez créer des ensembles de données Power BI directement à partir de sources de données Synapse et construire des rapports en direct qui se rafraîchissent avec les dernières données.
Sécurité et gouvernance
La sécurité à Azure Synapse est en couches et de niveau entreprise. Les données sont chiffrées au repos en utilisant Azure Storage Service Encryption et en transit en utilisant TLS. L'intégration de Azure Active Directory permet un contrôle d'accès unique et basé sur le rôle (RBAC) au niveau de l'espace de travail, de la base de données et des actifs de données. La sécurité au niveau des colonnes et la sécurité au niveau des lignes permettent de masquer les données fines pour protéger les informations sensibles.
Architecture Plongée profonde
Comprendre l'architecture Azure Synapse , c'est optimiser les performances et les coûts. Le service est construit sur une couche de calcul distribuée qui communique avec une couche de stockage persistante (Ziron Data Lake Storage Gen2 ou Blob Storage). Dans les pools SQL dédiés, les données sont distribuées sur 60 distributions en utilisant une stratégie de hachage, de rotation ou de réplication. Le nœud de contrôle reçoit les requêtes T-SQL, les compile et génère des plans d'exécution qui sont distribués pour calculer les nœuds. Chaque nœud de calcul traite sa portion de données en parallèle, et les résultats sont regroupés en retour au nœud de contrôle.
Pour les charges de travail Spark, l'architecture est similaire : le maître Spark fonctionne sur le nœud de contrôle, et les nœuds de travail correspondent aux nœuds de calcul. Les données sont lues directement depuis la couche de stockage, en tirant parti des prédicats de pushdown et de la mise en cache pour accélérer les performances. Le paramètre SQL sans serveur utilise un stockage de métadonnées partagées et calcule les requêtes à la volée en scannant les partitions en parallèle.
Utiliser des cas qui démontrent la valeur
Azure Synapse est déployé dans les différents secteurs industriels pour une variété de scénarios :
- Log Analysis: Une entreprise de détail ingère des milliards d'événements de clicstream depuis sa plateforme de commerce électronique vers Azure Data Lake. À l'aide de carnets Synapse Spark, ils nettoient et agrégent les données à l'heure.
- Entretien prédictif: Une entreprise de fabrication recueille les données de capteurs à partir de l'équipement d'usine. Synapse Pipelines diffuse les données dans une session Spark où les modèles de détection d'anomalies fonctionnent. La sortie est stockée dans un pool SQL dédié utilisé par Power BI rapporte que les équipes de maintenance alertent lorsque l'équipement montre des signes de défaillance.
- Unified Customer 360: Une société de services financiers fusionne les données CRM, les enregistrements de transactions et l'analyse web en un seul modèle de données. Azure Synapse=S SQL pools permet des jointures et des regroupements complexes sur des milliards de lignes, tandis que SQL sans serveur permet aux data savants d'explorer rapidement de nouvelles sources de données.
- Real-time Analytics:[ Un fournisseur de solutions IoT utilise Azure Synapse avec Azure Stream Analytics pour le streaming en temps réel. Les données sont transmises par les appareils vers un hub d'événements, puis transformées en Spark streaming, et écrites en un pool SQL dédié où un tableau de bord Power BI affiche des métriques en direct avec une latence inférieure à la seconde.
Techniques d'optimisation des performances
Pour tirer le meilleur parti de Azure Synapse, considérez ces meilleures pratiques :
- Choix de distribution: Pour les pools SQL dédiés, choisissez la distribution de hachage sur une colonne à cardinalité élevée (p. ex., ID client) pour équilibrer les charges de données entre les distributions. Utilisez la bobine ronde pour mettre en place des tables et des tables répliquées pour les tables de petites dimensions pour éviter le mouvement des données.
- Indexing and Partitioning:[ Utilisez des index clustered columnstore pour les grandes tables d'information pour obtenir une compression élevée et des performances de balayage plus rapides.
- Result Set Caching:[ Activer la mise en cache des résultats dans des pools SQL dédiés pour réutiliser les résultats de requêtes pour les requêtes fréquemment exécutées, réduisant l'utilisation du calcul et améliorant les temps de réponse.
- Gestion de la charge de travail: Utilisez la classification de la charge de travail et l'importance pour prioriser les requêtes critiques.
- Data Skew Atténuation:[ Surveiller les colonnes de clé de distribution pour les skews en utilisant des DMV système. Si une distribution contient des données disproportionnée, les performances se dégradent. Reconstruisez des tables avec une clé de distribution différente ou utilisez la mise en scène ronde-robine avant de déplacer les données dans une table distribuée en hachage.
Intégration à l'écosystème d'azur
Azure Synapse ne fonctionne pas isolément. Il s'intègre profondément aux autres services Azure pour former une plate-forme de données complète:
- Azure Data Lake Storage Gen2:[ Le stockage primaire pour Synapse, fournissant un espace de noms hiérarchiques et des autorisations POSIX. Les données dans le lac peuvent être consultées par Spark, SQL sans serveur ou des pools SQL dédiés sans copie.
- Azure Data Factory: Synapse Pipelines sont construits sur Data Factory, vous pouvez donc également utiliser le service autonome Data Factory pour le mouvement de données hybride. Les deux services partagent la même intégration runtime et les mêmes bibliothèques de connecteurs.
- Power BI: Les connexions en mode DirectQuery et import sont supportées. Vous pouvez également utiliser des ensembles de données Power BI pour construire des modèles composites qui combinent les données Synapse avec d'autres sources.
- Azure Purview: Pour la gouvernance des données, Purview scanne Synapse des espaces de travail pour peupler un catalogue de données, suivre la ligne et appliquer des politiques de classification des données.
- Azure DevOps et GitHub: Synapse Studio prend en charge l'intégration du contrôle source en utilisant des dépôts, permettant le CI/CD pour les pipelines, les carnets et les scripts SQL. Ceci est essentiel pour les équipes d'entreprise qui nécessitent le contrôle de version et les déploiements automatisés.
Modèles de gestion des coûts et de tarification
Azure Synapse propose plusieurs composants de tarification qui peuvent être optimisés:
- Pool SQL dédié:[ Pay par DWU (Unité de stockage de données) pour le calcul provisionné. Vous pouvez interrompre le pool lorsque vous n'êtes pas en service pour arrêter les charges, et d'augmenter / descendre dynamiquement.
- Serverless SQL: Payer par TB des données traitées. Si vous avez des modèles de requêtes imprévisibles ou ad-hoc, serverless est plus économique qu'un pool dédié. Utilisez la mise en cache des résultats pour réduire les scans récurrents.
- Apache Spark Pool: Payer par vCore-heure de calcul. Vous pouvez choisir l'échelle automatique et définir des nœuds minimum/maximum. Utilisez des piscines avec des instances ponctuelles pour des emplois non critiques pour économiser jusqu'à 60%.
- Synapse Pipelines:[ Facturé en fonction du nombre d'activités et des heures d'exécution d'intégration. L'orchestration sur de gros ensembles de données peut être optimisée en utilisant les flux de données seulement si nécessaire.
- Stockage des données: Azure Data Lake Le stockage facture des frais de stockage distincts (par GB/mois). L'utilisation du niveau frais ou d'archive pour les données historiques peut réduire les coûts, mais il est accessible au besoin.
Commencer par Azure Synapse
Lancer votre première charge de travail analytique implique quelques étapes. Commencez par fournir un espace de travail Azure Synapse Analytics depuis le portail Azure. Vous pouvez choisir la région, le stockage de données et les paramètres de la piscine SQL. Une fois l'espace de travail prêt, ouvrez Synapse Studio pour commencer à construire. Utilisez la galerie de tutoriels intégrée pour apprendre par exemple : charger un exemple de données, lancer un carnet Spark, créer une vue T-SQL, et construire un rapport Power BI – tout cela sans quitter le studio.
Conclusion
Azure Synapse Analytics est passé d'un simple entrepôt de données à une plate-forme analytique unifiée répondant aux exigences des organisations modernes de données. En combinant le traitement des données massives, l'entreposage d'entreprise et la requête sans serveur en un seul service, il élimine les frictions entre l'ingénierie des données et l'analyse des données. Son intégration profonde avec l'écosystème d'Azure, une forte posture de sécurité et des modèles de prix flexibles en font un choix convaincant pour les entreprises qui cherchent à étendre leur infrastructure analytique.
Pour explorer plus loin, reportez-vous à Microsoft=1 documentation officielle pour les guides d'architecture, les meilleures pratiques et les tutoriels de démarrage rapide. Pour les modèles de déploiement réel, vérifiez Guides d'architecture de données d'Azure et Exemples d'intégration de Power BI.Avec une planification et une optimisation soignées, Azure Synapse peut gérer vos données massives les plus exigeantes et les charges de travail d'entreposage tout en maintenant les coûts prévisibles.