Dans mon dernier article , nous avons discuté de l'analyse du problème commercial et des étapes de base pour concevoir l'architecture Big Data. Aujourd'hui, je vais parler des différentes couches de l'architecture Big Data et de leurs fonctionnalités.
Couches logiques de l'architecture de référence Big Data
Derrière l'architecture Big Data, l'idée centrale est de documenter une bonne base d'architecture, d'infrastructure et d'applications. Par conséquent, cela permet aux entreprises d'utiliser le Big Data plus efficacement au quotidien.
Il est créé par des concepteurs/architectes Big Data avant de mettre physiquement en œuvre une solution. La création d'une architecture Big Data nécessite généralement de comprendre l'entreprise/l'organisation et ses besoins en Big Data. En règle générale, les architectures Big Data décrivent les composants matériels et logiciels nécessaires à la réalisation d'une solution Big Data. Les documents d'architecture de Big Data peuvent également décrire des protocoles de partage de données, d'intégration d'applications et de sécurité de l'information.
Plus d'informations : Guide du débutant sur l'analyse des mégadonnées
Cela implique également d'interconnecter et d'organiser les ressources existantes pour répondre aux besoins de Big Data.
Les couches logiques de l'architecture de référence sont les suivantes :
- Identification de la source de données : savoir d'où proviennent ces données.
Le profilage de la source est l'une des étapes les plus importantes pour décider de l'architecture ou du Big Data. Il s'agit d'identifier les différents systèmes sources et de les catégoriser en fonction de leur nature et de leur type.
Points à prendre en compte lors du profilage des sources de données :
- Identifier les systèmes de sources internes et externes.
- Hypothèse de haut niveau pour la quantité de données ingérées à partir de chaque source
- Identifier le mécanisme utilisé pour obtenir des données – push ou pull
- Déterminez le type de source de données - Base de données, fichier, service Web, flux, etc.
- Déterminer le type de données – structurées, semi-structurées ou non structurées
- Stratégie et acquisition d'ingestion de données : Processus d'entrée de données dans le système.
L'ingestion de données consiste à extraire les données des sources mentionnées ci-dessus. Ces données sont stockées dans le stockage, puis transformées pour un traitement ultérieur.
Points à considérer :
- Déterminer la fréquence à laquelle les données seraient ingérées à partir de chaque source
- Est-il nécessaire de modifier la sémantique des données ?
- Une validation ou une transformation des données est-elle requise avant l'ingestion (pré-traitement) ?
- Séparez les sources de données en fonction du mode d'ingestion - Batch ou en temps réel
- Stockage de données : L'installation où les données volumineuses seront réellement stockées.
On devrait être capable de stocker de grandes quantités de données de tout type et devrait pouvoir évoluer en fonction des besoins. Nous devons également considérer le nombre d'IOPS (opérations d'entrée et de sortie par seconde) qu'il peut fournir. Le système de fichiers distribué Hadoop est le cadre de stockage le plus couramment utilisé dans le monde du Big Data, les autres sont les magasins de données NoSQL - MongoDB, HBase, Cassandra, etc.
Éléments à prendre en compte lors de la planification de la méthodologie de stockage :
- Type de données (historique ou incrémental)
- Format des données (structurées, semi structurées et non structurées)
- Exigences de compression
- Fréquence des données entrantes
- Modèle de requête sur les données
- Consommateurs de données
- Traitement des données : outils qui fournissent une analyse sur les mégadonnées.
Non seulement la quantité de données stockées, mais le traitement a également été multiplié par plusieurs.
Auparavant, les données fréquemment consultées étaient stockées dans des RAM dynamiques. Mais maintenant, il est stocké sur plusieurs disques sur un certain nombre de machines connectées via le réseau en raison du volume considérable. Par conséquent, au lieu de collecter des morceaux de données pour le traitement, les modules de traitement sont transférés vers les mégadonnées. Ainsi, réduisant considérablement les E/S du réseau. La méthodologie de traitement est guidée par les exigences de l'entreprise. Il peut être classé en batch, en temps réel ou hybride en fonction du SLA.
- Traitement par lots – Le lot collecte l'entrée pendant un intervalle de temps spécifié et exécute des transformations dessus de manière planifiée. Le chargement des données historiques est une opération par lots typique
- Traitement en temps réel – Le traitement en temps réel implique l'exécution de transformations au fur et à mesure de l'acquisition des données.
- Traitement hybride – C'est une combinaison de besoins de traitement par lots et en temps réel.
- Consommation/utilisation des données : Utilisateurs/services utilisant les données analysées.
Cette couche consomme la sortie fournie par la couche de traitement. Différents utilisateurs tels que l'administrateur, les utilisateurs professionnels, les fournisseurs, les partenaires, etc. peuvent consommer des données dans différents formats. La sortie de l'analyse peut être consommée par le moteur de recommandation ou les processus métier peuvent être déclenchés en fonction de l'analyse.
Les différentes formes de consommation de données sont :
- Exporter des ensembles de données – Il peut y avoir des exigences pour la génération d'ensembles de données tiers. Les ensembles de données peuvent être générés à l'aide de l'exportation de la ruche ou directement à partir de HDFS.
- Création de rapports et visualisation - Différents outils de création de rapports et de visualisation se connectent à Hadoop à l'aide de la connectivité JDBC/ODBC pour rucher.
- Exploration des données – Le scientifique des données peut créer des modèles et effectuer une exploration approfondie dans un environnement sandbox. Le bac à sable peut être un cluster distinct (approche recommandée) ou un schéma distinct au sein du même cluster qui contient un sous-ensemble de données réelles.
- Requêtes ad hoc – Les requêtes ad hoc ou interactives peuvent être prises en charge à l'aide de Hive, Impala ou Spark SQL.
Lire aussi : Big Data : un futur cauchemar ?
Couches fonctionnelles de l'architecture Big Data :
Il pourrait y avoir une autre façon de définir l'architecture, c'est-à-dire à travers la division des fonctionnalités. Mais les catégories de fonctionnalités pourraient être regroupées dans la couche logique de l'architecture de référence, donc, l'architecture préférée est celle réalisée à l'aide de couches logiques.
La superposition basée sur les fonctionnalités est la suivante :
- Source d'information:
L'analyse de toutes les sources à partir desquelles une organisation reçoit des données et qui pourraient aider l'organisation à prendre ses décisions futures devrait être répertoriée dans cette catégorie. Les sources de données répertoriées ici sont indépendantes du fait que les données soient structurées, non structurées ou semi-structurées.
- Extraction de données:
Avant de pouvoir stocker, analyser ou visualiser vos données, vous devez en avoir. L'extraction de données consiste à prendre quelque chose qui n'est pas structuré, comme une page Web, et à le transformer en un tableau structuré. Une fois que vous l'avez structuré, vous pouvez le manipuler de toutes sortes de manières, en utilisant les outils décrits ci-dessous, pour trouver des informations.
- Stockage de données:
La nécessité de base lorsque l'on travaille avec des données volumineuses est de réfléchir à la manière de stocker ces données. Une partie de la façon dont le Big Data a obtenu la distinction de « BIG » est qu'il est devenu trop difficile à gérer pour les systèmes traditionnels. Un bon fournisseur de stockage de données devrait vous offrir une infrastructure sur laquelle exécuter tous vos autres outils d'analyse ainsi qu'un endroit pour stocker et interroger vos données.
- Nettoyage des données :
Une étape préalable nécessaire avant de commencer à exploiter les données pour obtenir des informations. Il est toujours recommandé de créer un ensemble de données propre et bien structuré. Les ensembles de données peuvent être de toutes formes et de toutes tailles, en particulier lorsqu'ils proviennent du Web. Choisissez un outil selon vos besoins en données.
- Exploration de données :
L'exploration de données est le processus de découverte d'informations dans une base de données. Le but de l'exploration de données est de prendre des décisions et des prédictions sur les données dont vous disposez. Choisissez un logiciel qui vous donne les meilleures prédictions pour tous les types de données et vous permet de créer vos propres algorithmes pour extraire les données.
- Analyse des données:
Alors que l'exploration de données consiste à passer au crible vos données à la recherche de modèles auparavant non reconnus, l'analyse des données consiste à décomposer ces données et à évaluer l'impact de ces modèles au fil du temps. L'analyse consiste à poser des questions spécifiques et à trouver les réponses dans les données. Vous pouvez même poser des questions sur ce qui se passera dans le futur !
- Visualisation de données:
Les visualisations sont un moyen clair et facile de transmettre des informations complexes sur les données. Et le meilleur, c'est que la plupart d'entre eux ne nécessitent aucun codage. Les entreprises de visualisation de données donneront vie à vos données. Une partie du défi pour tout scientifique des données consiste à transmettre les informations de ces données au reste de votre entreprise. Les outils peuvent vous aider à créer des graphiques, des cartes et d'autres graphiques à partir de vos informations de données.
- Intégration de données:
Les plates-formes d'intégration de données sont le ciment entre chaque programme. Ils relient les différentes inférences des outils avec d'autres logiciels. Vous pouvez partager les résultats de vos outils de visualisation directement sur Facebook grâce à ces outils.
- Langues de données :
Il y aura des moments dans votre carrière de données où un outil ne suffira tout simplement pas. Alors que les outils d'aujourd'hui deviennent de plus en plus puissants et plus faciles à utiliser, il est parfois préférable de les coder vous-même. Il existe différents langages qui vous aident dans différents aspects tels que le calcul statistique et les graphiques. Ces langages pourraient fonctionner en complément des logiciels d'exploration de données et de statistiques.
Les éléments clés à retenir lors de la conception d'une architecture Big Data sont :
- Dynamique d'utilisation : Il existe un certain nombre de scénarios illustrés dans l'article qui doivent être pris en compte lors de la conception de l'architecture : forme et fréquence des données, type de données, type de traitement et d'analyse requis.
- Une myriade de technologies : La prolifération des outils sur le marché a conduit à beaucoup de confusion quant à ce qu'il faut utiliser et quand, il existe plusieurs technologies offrant des fonctionnalités similaires et prétendant être meilleures que les autres.
Je sais que vous penseriez à différents outils à utiliser pour créer une solution Big Data à toute épreuve. Eh bien, dans mes prochains articles sur le Big Data, je couvrirai certains des meilleurs outils pour réaliser différentes tâches dans l'architecture Big Data .