Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une architecture Big Data est conçue pour gérer l’ingestion, le traitement et l’analyse des données trop volumineuses ou complexes pour les systèmes de base de données traditionnels.
Les solutions Big Data incluent généralement un ou plusieurs des types de charges de travail suivants :
- Traitement par lots des sources Big Data au repos
- Traitement en temps réel du Big Data en mouvement
- Exploration interactive du Big Data
- Analytique prédictive et Machine Learning
La plupart des architectures Big Data incluent certains ou tous les composants suivants :
Sources de données : Les solutions Big Data peuvent commencer par une ou plusieurs sources de données.
Magasins de données, tels que les bases de données relationnelles
Fichiers que les applications produisent, tels que les fichiers journaux du serveur web et les réponses d’API
Sources de données en temps réel, telles que les appareils de diffusion en continu, les webhooks ou les applications en amont de la base de données relationnelle
Stockage des données : Les données des opérations de traitement par lots sont généralement stockées dans un magasin de fichiers distribué qui peut contenir des volumes élevés de fichiers volumineux dans différents formats. Ce type de magasin est souvent appelé lac de données. Les options d’implémentation de ce stockage incluent Azure Data Lake Storage ou Microsoft Fabric OneLake.
Traitement par lots : Lorsque les données doivent être préparées pour l’analyse et mises à la disposition des rapports qui reflètent les événements ou tendances passés, le traitement par lots est utile. En règle générale, ces travaux impliquent la lecture des fichiers sources, leur traitement et l’écriture de la sortie dans de nouveaux fichiers. Les options incluent l’utilisation de flux de données ou de pipelines de données dans Fabric.
Traitement en temps réel : Si la solution inclut des sources en temps réel, l’architecture doit inclure un moyen de capturer et de stocker des messages en temps réel pour le traitement de flux. Les données peuvent rester en mouvement dès le moment où elles sont générées par le nettoyage, la transformation et l’utilisation éventuelle dans les actions opérationnelles ou analytiques. De nombreuses solutions doivent prendre en charge le traitement de scale-out, la remise fiable et d’autres sémantiques de mise en file d’attente de messages. Les options incluent les flux d’événements Fabric Real-Time Intelligence, Azure Event Hubs, Azure IoT Hub et Apache Kafka.
Magasin de données analytiques : De nombreuses solutions Big Data préparent les données pour l’analyse, puis servent les données traitées dans un format structuré qui peut être interrogé à l’aide d’outils analytiques. Selon votre scénario, le magasin de données analytiques utilisé pour traiter ces requêtes peut être un eventhouse dans Microsoft Fabric pour traiter les données en mouvement et le flux est traité en cours de vol. Ou bien il peut s’agir d’un entrepôt de données dimensionnel, comme le voit la plupart des solutions décisionnels traditionnelles ou d’un lachouse (Bronze, Silver et Gold). Microsoft Fabric propose plusieurs options, telles que les entrepôts, les entrepôts et les entrepôts. Chaque option peut être interrogée à l’aide de SQL ou Spark, selon le cas d’usage. Utilisez le guide de décision du magasin de données Fabric pour vous aider à guider votre décision.
Analyse et création de rapports : L’un des objectifs des solutions de données doit être de fournir des insights sur les données via l’analyse et la création de rapports. Pour permettre aux utilisateurs d’analyser les données, l’architecture peut inclure une couche de modélisation des données, telle qu’un cube OLAP (Multidimensionnel analytique analytique) ou un modèle de données tabulaire dans Azure Analysis Services. Elle peut également prendre en charge le décisionnel libre-service, en utilisant les technologies de modélisation et de visualisation de Power BI ou Excel. L’analyse et la création de rapports peuvent également prendre la forme d’une exploration interactive des données par des scientifiques des données ou des analystes de données. Pour ces scénarios, Microsoft Fabric fournit des outils tels que des notebooks, où les utilisateurs peuvent choisir SQL ou un langage de programmation de leur choix.
Actions et alertes : Un autre objectif d’une solution Big Data doit être de fournir des insights opérationnels sur l’état actuel du processus métier. L’architecture doit inclure une couche système d’action, qui prend en temps réel des flux de données au fur et à mesure qu’elle est traitée et détecte les exceptions et les anomalies qui se produisent au sein de l’organisation. Au lieu d’un utilisateur qui vérifie un rapport, vous pouvez utiliser ces systèmes d’alerte pour informer de manière proactive les utilisateurs et la direction des activités anormales. Real-Time alertes d’activateur Intelligence fournissent ce type de surveillance proactive.
Orchestration: Les solutions Big Data peuvent être constituées d’opérations répétées de traitement des données encapsulées dans les flux de travail. Ces flux de travail transforment les données sources, déplacent des données entre plusieurs sources et récepteurs, chargent les données traitées dans un magasin de données analytique ou poussent les résultats directement vers un rapport ou un tableau de bord. Pour automatiser ces flux de travail, vous pouvez utiliser une technologie d’orchestration telle qu’Azure Data Factory ou des pipelines Microsoft Fabric.
Microsoft fournit de nombreux services pour l’architecture Big Data qui sont regroupés à peu près dans les catégories suivantes :
Solutions SaaS (Software as a Service), telles que Microsoft Fabric
Services managés tels que Data Lake Storage, Azure Stream Analytics, Event Hubs, IoT Hub, Azure Data Factory, Azure SQL Database et Azure Cosmos DB
Quand utiliser cette architecture
Tenez compte de ce style d’architecture lorsque vous devez effectuer les actions suivantes :
- Agir sur les données en temps réel, car les données sont générées.
- Stockez et traitez les données dans des volumes trop volumineux pour une base de données traditionnelle.
- Transformez des données non structurées pour l’analyse et la création de rapports.
- Utilisez les services Azure Machine Learning ou Azure AI.
Avantages
Choix technologiques : Microsoft Fabric fournit un grand nombre de ces services via une interface SaaS et connecte les différents composants à l’avance. Cette approche simplifie le processus de création de solutions de données de bout en bout. Vous pouvez également combiner et faire correspondre les services managés Azure pour tirer parti des compétences existantes ou des investissements technologiques.
Performances par parallélisme : Les solutions Big Data tirent parti du parallélisme, qui permet des solutions hautes performances qui s’étendent à de grands volumes de données.
Mise à l’échelle élastique : Tous les composants de l’architecture Big Data prennent en charge l’approvisionnement avec montée en puissance parallèle. Par conséquent, vous pouvez ajuster votre solution pour les charges de travail petites ou volumineuses et payer uniquement pour les ressources que vous utilisez.
Interopérabilité avec les solutions existantes : Les composants de l’architecture Big Data sont également utilisés pour le traitement d’Internet des objets (IoT) et les solutions décisionnels d’entreprise. Cette polyvalence vous permet de créer une solution intégrée entre les charges de travail de données.
Défis
Ensemble de compétences : Certaines technologies Big Data sont hautement spécialisées et s’appuient sur des frameworks et des langages qui diffèrent de ceux utilisés dans les architectures d’application générales. Vous pouvez également créer des API plus récentes qui s’appuient sur des langages plus établis.
Sécurité: Les solutions Big Data s’appuient généralement sur le stockage de toutes les données statiques dans un lac de données centralisé. La sécurisation de l’accès à ces données peut être difficile, en particulier lorsque plusieurs applications et plateformes doivent ingérer et consommer les données.
Meilleures pratiques
Utilisez le parallélisme. La plupart des technologies de traitement big data distribuent la charge de travail entre plusieurs unités de traitement. Cette distribution nécessite la création et le stockage de fichiers de données statiques dans un format fractionné. Les systèmes de fichiers distribués tels que Hadoop Distributed File System (HDFS) peuvent optimiser les performances de lecture et d’écriture. Plusieurs nœuds de cluster en parallèle effectuent le traitement réel, ce qui réduit les temps de travail globaux. Nous vous recommandons d’utiliser un format de données fractionné, tel que Parquet.
Partitionner des données. Le traitement par lots se produit généralement selon une planification périodique, par exemple hebdomadaire ou mensuelle. Partitionnez des fichiers de données et des structures de données, tels que des tables, en fonction de périodes temporelles qui s’alignent sur la planification de traitement. Cette stratégie simplifie l’ingestion des données et la planification des travaux, facilite la résolution des problèmes et peut améliorer considérablement les performances des requêtes.
Appliquez la sémantique de schéma en lecture. L’utilisation d’un lac de données vous permet de combiner le stockage pour les fichiers dans plusieurs formats, qu’ils soient structurés, semi-structurés ou non structurés. Appliquez la sémantique de schéma en lecture , qui projettent un schéma sur des données pendant le traitement au lieu du moment du stockage. Cette approche offre une flexibilité accrue à la solution et permet d’éviter les goulots d’étranglement lors de l’ingestion des données à l’origine de la validation des données et de la vérification de type.
Traitez les données par lots à l’arrivée. Les solutions BI traditionnelles utilisent souvent un processus d’extraction, de transformation et de chargement (ETL) pour déplacer des données dans un entrepôt de données. Toutefois, avec de grands volumes de données et un large éventail de formats, les solutions Big Data adoptent généralement des variantes d’ETL, telles que l’extraction, la charge et la transformation (ELT).
Traitez les données de streaming en cours de vol. Pour les solutions de streaming, transformez la charge utile pendant que les données sont transmises. Étant donné que vous traitez de paquets beaucoup plus petits sur le réseau, il est beaucoup plus facile de transformer ces ensembles de lignes plus petites pendant la génération. Atterrissez le flux transformé dans un moteur optimisé pour les données basées sur des événements, comme un eventhouse Real-Time Intelligence, ce qui rend les données immédiatement disponibles pour l’action.
Équilibrez l’utilisation et les coûts de temps. Pour les travaux de traitement par lots, il est important de prendre en compte le coût unitaire des nœuds de calcul et le coût par minute d’utilisation de ces nœuds pour terminer le travail. Par exemple, un travail par lots peut prendre huit heures avec quatre nœuds de cluster. Toutefois, il peut arriver que le travail utilise les quatre nœuds uniquement pendant les deux premières heures, et après cela, seuls deux nœuds sont requis. Dans ce cas, l’exécution de l’ensemble du travail sur deux nœuds augmente le temps total du travail, mais ne le double pas, de sorte que le coût total est inférieur. Dans certains scénarios métier, un temps de traitement plus long peut être préférable au coût plus élevé d’utilisation de ressources de cluster sous-utilisées.
Séparez les ressources. Si possible, séparez les ressources en fonction des charges de travail pour éviter des scénarios tels qu’une charge de travail utilisant toutes les ressources pendant que l’autre attend.
Orchestrer l’ingestion des données. Dans certains cas, les applications métier existantes peuvent écrire des fichiers de données pour le traitement par lots directement dans des conteneurs d’objets blob de stockage Azure, où les services en aval tels que Microsoft Fabric peuvent les consommer. Toutefois, vous devez souvent orchestrer l’ingestion de données à partir de sources de données locales ou externes dans le lac de données. Utilisez un workflow d’orchestration ou un pipeline, tel que ceux pris en charge par Azure Data Factory ou Microsoft Fabric, pour obtenir un déplacement de données prévisible et géré de manière centralisée.
Nettoyer les données sensibles tôt. Le flux de travail d’ingestion des données doit nettoyer les données sensibles au début du processus pour éviter de les stocker dans le lac de données.
Architecture IoT
IoT est un sous-ensemble spécialisé de solutions Big Data. Le diagramme suivant montre une architecture logique possible pour IoT. Le diagramme met en évidence les composants de streaming d’événements de l’architecture.
La passerelle cloud ingère les événements d’appareil au niveau de la limite cloud. Il utilise un système de messagerie fiable et à faible latence pour garantir une transmission efficace des données.
Les appareils peuvent envoyer des événements directement à la passerelle cloud ou via une passerelle de champ. Une passerelle de champ est un appareil ou un logiciel spécialisé, généralement colocalisé avec les appareils, qui reçoit des événements et les transfère à la passerelle cloud. La passerelle de champ peut également prétraiter les événements d’appareil bruts en effectuant des fonctions telles que le filtrage, l’agrégation ou la transformation de protocole.
Après l’ingestion, les événements passent par un ou plusieurs processeurs de flux qui peuvent acheminer les données ou effectuer des analyses et d’autres traitements.
Tenez compte des types de traitement courants suivants :
Les données sont chargées dans un magasin de données basé sur des événements, tel qu’un entrepôt d’événements dans Real-Time Intelligence, pour contextualiser l’appareil IoT avec des métadonnées, telles que l’emplacement du bâtiment et les informations sur l’appareil.
Analyse du flux d’événements en temps réel pour détecter les anomalies, reconnaître les modèles au fil des fenêtres de temps propagées ou déclencher des alertes lorsque des conditions spécifiques se produisent dans le flux.
Gestion de types de messages d’appareils non liés à la télémétrie, tels que les notifications et les alarmes.
Scoring d’événements à l’aide de modèles Machine Learning pour détecter les anomalies, prédire les défaillances ou classifier le comportement de l’appareil.
Les zones grises affichent les composants d’un système IoT qui ne sont pas directement liés au flux d’événements. Ils sont inclus ici pour l’exhaustivité.
Le Registre des appareils est une base de données d’appareils approvisionnés. Il inclut des ID d’appareil et contient généralement des métadonnées telles que l’emplacement.
L’API d’approvisionnement est une interface externe commune pour l’approvisionnement et l’inscription de nouveaux appareils.
Certaines solutions IoT permettent d’envoyer des messages de commande et de contrôle aux appareils.