Comment fonctionne Azure Data Explorer
Dans cette unité, nous analysons l’architecture interne d’Azure Data Explorer en détaillant les composants essentiels du système. Par la suite, vous apprendrez à interagir avec le service en parcourant un workflow typique :
- Ingestion de données
- Langage de requête Kusto
- Visualisation des données
Ces éléments vous permettront d’évaluer si Azure Data Explorer répond à vos exigences en matière de gestion des données.
Principaux composants
Un cluster Azure Data Explorer fait tout le travail d’ingestion, de traitement et d’interrogation de vos données. Les clusters s’adaptent automatiquement en fonction de vos besoins. Azure Data Explorer stocke également les données dans le Stockage Azure et met en cache certaines de ces données sur les nœuds de calcul de cluster pour obtenir des performances de requête optimales.
Que contient un cluster Azure Data Explorer ?
Chaque cluster Azure Data Explorer peut contenir jusqu’à 10 000 bases de données et chaque base de données jusqu’à 10 000 tables. Les données de chaque table sont stockées dans des partitions de données également appelées étendues. Toutes les données sont automatiquement indexées et partitionnées en fonction de l’heure d’ingestion. Contrairement à une base de données relationnelle, il n’y a pas de contraintes de clé étrangère primaire ni d’autres contraintes comme l’unicité. Cette architecture autorise le stockage de volumes importants de données hétérogènes. Grâce à leur mode de stockage, ces données demeurent rapidement accessibles pour l’exécution de requêtes.
La structure logique d’une base de données est similaire à de nombreuses autres bases de données relationnelles. Une base de données Azure Data Explorer peut contenir :
- Tables : constituée d’un ensemble de colonnes. Chaque colonne présente l’un des neuf types de données différents.
- Tables externes : tables dont le stockage sous-jacent se trouve dans d’autres emplacements tels qu’Azure Data Lake.
Découvrir le workflow général
En règle générale, lorsque vous interagissez avec Azure Data Explorer, vous passez par le flux de travail suivant. Tout d’abord, vous ingérez vos données pour l’obtenir dans le système. Ensuite, vous analysez vos données. Enfin, vous visualisez les résultats de votre analyse.
À tout moment, vous avez également la possibilité d’exploiter les fonctionnalités dédiées à la gestion des données. Ce travail avec Azure Data Explorer s’effectue en interagissant avec le cluster. Vous pouvez accéder à ces ressources dans l’interface utilisateur web ou en utilisant des kits SDK.
Comment récupérer mes données dans Azure Data Explorer ?
L’ingestion des données est le processus utilisé pour charger des enregistrements de données d’une ou plusieurs sources dans Azure Data Explorer. Parmi les autres tâches de manipulation des données, citons la mise en correspondance de schéma, l’organisation, l’indexation, l’encodage et la compression des données. Data Manager commite ensuite les données ingérées dans le moteur où elles peuvent faire l’objet de requêtes.
Outre l’Assistant Interface utilisateur web native, différents outils d’ingestion sont disponibles, notamment les pipelines managés, Event Grid, IoT Hub et Azure Data Factory. Vous pouvez utiliser des connecteurs et des plug-ins comme le plug-in Logstash, le connecteur Kafka, Power Automate et le connecteur Apache Spark. Vous pouvez également utiliser l’ingestion programmatique avec des kits SDK ou LightIngest.
Les données peuvent être ingérées en deux modes : le traitement par lot ou la diffusion en continu. L’ingestion en batch est optimisée pour un débit d’ingestion élevé et des résultats de requête rapides. L’ingestion en streaming permet une latence en quasi temps réel pour les petits jeux de données par table.
Comment analyser mes données ?
Azure Data Explorer utilise le langage de requête Kusto (KQL) propriétaire pour analyser les données. Ce système est largement employé au sein de Microsoft (Azure Monitor – analytique des journaux d’activité et Application Insights, Microsoft Sentinel et Microsoft Defender XDR). KQL est optimisé pour une exploration rapide, diversifiée et de Big Data. Les requêtes référencent les tables, les vues, les fonctions et toutes les autres expressions tabulaires. Il comprend des tables réparties dans différentes bases de données, voire sur plusieurs clusters. Les requêtes peuvent être lancées via l’interface utilisateur web, différents outils de requêtage ou l’un des SDK Azure Data Explorer.
Comment le langage de requête Kusto fonctionne-t-il ?
Le langage de requête Kusto est un langage de requête expressif, intuitif et extrêmement productif. Il permet de passer en douceur de simples lignes uniques à des scripts de traitement de données complexes, et d’interroger des données structurées, semi-structurées et non structurées (recherche textuelle). Il existe une grande variété d’opérateurs et de fonctions de langage de requête (agrégation, filtrage, fonctions de série chronologique, fonctions géospatiales, jointures, unions, etc.) dans le langage. KQL prend en charge les requêtes inter-clusters et inter-bases de données, et sa fonctionnalité est riche d’un point de vue d’analyse (json, XML, etc.). Le langage prend aussi en charge en mode natif une analytique avancée.
Comment afficher mes résultats de requête ?
L’interface utilisateur web d’Azure Data Explorer a été conçue en pensant au Big Data, ce qui vous permet d’exécuter des requêtes et de créer des tableaux de bord. Il prend en charge l’affichage pouvant atteindre 500 000 enregistrements ainsi que des milliers de colonnes. Elle est très évolutive et très riche grâce à des fonctionnalités qui vous permettent de tirer rapidement des insights de vos données.
Vous pouvez également utiliser différents affichages visuels de vos données dans vos tableaux de bord Azure Data Explorer. Vous pouvez afficher vos résultats à l’aide de connecteurs natifs pour certains des principaux services de visualisation disponibles aujourd’hui, tels que Power BI et Grafana. Azure Data Explorer prend en charge le connecteur ODBC et JDBC pour des outils tels que Tableau et Qlik.
Comment gérer mes données ?
Les administrateurs doivent réaliser diverses opérations de maintenance et de gouvernance sur leurs clusters Azure Data Explorer, et les commandes de contrôle leur en offrent la possibilité. Grâce aux commandes de contrôle, ils peuvent créer de nouveaux clusters ou de nouvelles bases de données, configurer des connexions de données, activer le dimensionnement automatique et ajuster les paramètres des clusters. Ils peuvent contrôler et modifier des entités, des objets de métadonnées, gérer des autorisations et des stratégies de sécurité. Ils peuvent également modifier les vues matérialisées (vues filtrées continuellement mises à jour à partir d’autres tables), les fonctions (fonctions stockées et fonctions définies par l’utilisateur) ainsi que la stratégie de mise à jour (fonctions déclenchées après l’ingestion).
Les commandes de contrôle sont exécutées directement sur le moteur en utilisant l’interface utilisateur web, le portail Azure, divers outils de requête ou l’un des kits SDK Azure Data Explorer.