Environnement de données et morphologie de données
L'environnement de données fait référence à l'environnement physique du stockage, du traitement, de la transformation, tels que l'environnement de production, l'environnement d'analyse et l'environnement de test.
L'environnement de production est l'environnement où l'application de la demande de production et du système en temps réel, où les données sont modifiées en temps réel.
L'environnement d'analyse est un environnement de données découplé avec l'environnement de production et analyse les données de l'environnement de données et n'affecte pas le fonctionnement normal de l'environnement de production. Les données de l'environnement d'analyse proviennent du "instantané" dans l'environnement de production. Il s'agit donc essentiellement de données hors ligne.Pour que l'environnement d'analyse n'affecte pas l'environnement de production, nous devrions éviter les données directement, les données d'origine sont directement ajustées à partir du système de production dans le système d'analyse. Cette méthode n'a peut-être pas de problèmes lorsque la quantité de données est petite, mais lorsque la quantité de données est augmentée, l'inconvénient de données se connecte directement sera progressivement. Il est principalement reflété dans les effets mutuels des deux côtés, la sécurité des dangers cachés et la différence d'expansion de la plate-forme. Par conséquent, une méthode plus raisonnable consiste à définir le tampon de données entre l'environnement de production et l'environnement d'analyse. Comme le transfert de chaque système, les données d'origine sont reçues et que l'environnement d'analyse est introduit après ETL.
Pour cela, selon l'environnement, les données peuvent être définies comme trois formes de base: données de production, données brutes et données d'analyse. Le lien entre les données et son environnement est présenté ci-dessous.
La relation entre le formulaire de données et l'environnement
1. Données de production
Les données de production sont dynamiques, modifieront avec les variations de l'entreprise, telles que l'utilisateur État de la commande, modifications dues à l'utilisateur, aux marchands, à la logistique et à d'autres parties liées. Les travaux d'analyse des données ne contactent généralement pas directement les données de production. Au lieu de cela, des données analytiques peuvent être converties en données de production. Par exemple, les données de balise utilisateur sont analysées en analysant des données, mais peuvent former un portrait, une recommandation, etc transformée en données de production pour servir l'entreprise. 2. Données d'origine
Les données d'origine sont obtenues par découplage de données dans le système de production. Le processus de découplage inclut généralement la désensibilisation des données, le dépistage et l'exportation de masse, etc. Le stockage des données brutes devrait être indépendant de l'environnement de production et de l'environnement d'analyse afin d'éviter l'impact mutuel entre différents environnements, qui est le tampon de données mentionné précédemment.
3. Données analytiques Les données d'analyse sont obtenues par ETL par les données d'origine. ETL (extrait-transformation-charge) est une abréviation extraite - chargée de la conversion, le processus est nettoyé et converti et les données sont stockées dans l'environnement d'analyse conformément aux normes unifiées. Par exemple, pour supprimer certains champs non valides, interpolez les valeurs NULL, les valeurs uniformes du format de date, seront complétées dans le processus ETL. Le processus ETL peut également contenir d'excellentes données.Stocker pour améliorer l'efficacité du stockage et de la lecture, telles que la création d'un index, d'une partition, d'une solution, et plus encore.Le stockage, l'utilisation et les besoins des données analytiques doivent dépendre de la plate-forme de données et les performances de la plate-forme de données ont un impact décisif sur les données d'analyse de traitement. Différentes tailles, les données d'analyse de type peuvent également s'appliquer à différentes plates-formes de données. Le débit de données spécifique peut faire référence à la figure suivante, le tampon de données est utilisé comme transfert, une extrémité est connectée à différents types de systèmes d'application dans l'environnement de production et l'autre extrémité est connectée à différents types. des plates-formes de données dans l'environnement d'analyse.
Exemple de transfert de flux de données
Plate-forme de données
La plate-forme de données est une plate-forme pour stocker des données d'analyse, mais également une plate-forme inférieure pour l'analyse et l'excavation de données. La plate-forme de données comprend notre entrepôt de données traditionnel le plus familier, ainsi que des produits de base de données multiples «modernes». L'architecture de la plate-forme de données simplifiée est la suivante.
Diagramme d'architecture de la plate-forme de données
La plate-forme de données moderne allie entrepôts de données traditionnels, grandes plateformes de données, bases de données MPP, bases de données NOSQL et plus encore.
Du point de vue de l'architecture de la plate-forme, le tampon de données appartient à la couche de données d'origine, également appelée ODS (STORE DE DONNÉES OPÉRATIONNELLES) ou la couche source. La taille des grains de données de la couche ODS est plus mince et il est possible de refléter les données clés du détail, telles que les données de transaction de commande d'utilisateur. L'entrepôt de données (DW) est également divisé en couches de base, les couches de sujets et les couches du marché des données.
1. La couche de base
est également connue sous le nom de couche DWD (Détail de l'entrepôt de données), la couche de base nettoie les données de la couche ODS (c.-à-d. Le processus ETL mentionné précédemment) et résumé léger. La sortie est des détails de données, des tables de dimensions, des faits et d'autres données de base. Par exemple, une table de commande, une liste de biens et quelques tables de journalisation.
2. La couche de thèmeest également connue sous le nom de couche DW (Service d'entrepôt de données), la couche de sujets est très agrégée selon certaines dimensions ou logique commerciale, générant des tables sous différents sujets. La couche de sujets n'a généralement aucune donnée détaillée spécifique et toutes les données sont collectées conformément au sujet. Par exemple, le secteur de la vente au détail peut être divisé en thèmes d'utilisateur, thèmes de base, thèmes de vente, etc. Selon les entreprises.
3. Marché des données
Data Mart est également appelé ADS (magasin de données d'application), les Data MartS mettent la couche de sujets et les données de la couche de base conformément aux besoins réels de chaque entreprise à la polymérisation, formulaire Une forme large ou un cube de données (cube) peut être utilisée directement pour les unités d'affaires et les équipes d'analyse de données.L'existence principale du marché des données est la table de fait (faits) et la table de dimension (dimension).
La table des faits stocke des données détaillées, telles que des données commerciales telles que des commandes, des ventes.La table de dimension est établie autour de la table des faits, stocke certaines propriétés de la dimension, définit l'analyse de la perspective de la table de fait, telle que le temps, le système géographique, le système d'exploitation, etc. La structure de données sur le marché des données est généralement une structure d'étoile (étoile) et structure de flocon de neige (neige).
La structure d'étoile consiste en une table de fait et un ensemble de dimensions, chaque dimension, une clé principale, toutes ces touches primaires dimensionnelles allient la clé primaire de la table de fait. La table des faits est associée à chaque table de dimension et la table de fait est au centre, la table de la dimension entourant autour de la table de fait.
La structure de flocon de neige est une extension dans une structure d'étoile et plus hiérarchiquement, la table de dimension est étendue à la table de fait et la prochaine couche de table de dimension est établie. La structure de flocon de neige est plus conforme au style de base de données, réduisant ainsi la redondance des données, mais pendant l'analyse des données, les opérations peuvent être plus compliquées. Le côté inférieur est le contraste de la structure étoile et de la structure de neige.- Structure de flocon de neige
Différents matériaux, ainsi que le nom, abréviation de la teneur ci-dessus au sein de différentes entreprises attendent différentes définitions, cette n'est pas empêtré, la clé est de comprendre le sens et le rôle spécifiques de chaque couche.
L'alphabétisation HadoopHadoop est nécessaire pour le savoir seul. Hadoop lui-même est un système de stockage distribué et un cadre informatique distribué pour un stockage de données important, un calcul, une analyse. La figure ci-dessous est son architecture de composants principale.
Big Data Platform Composant de base
Le module de noyau Hadoop fournit des calculs de lot hors ligne, elle n'est pas adapté aux grands environnements en temps réel. Les calculs en temps réel nécessitent une combinaison de composants connexes, tels que l'étincelle, la tempête, etc des plates-formes Hadoop étendues ont une certaine capacité de traitement en temps réel. Ce qui suit est une brève introduction aux composants de base correspondants.
1.HDFSHDFS (Système de fichiers distribués Hadoop) est un ensemble de systèmes de fichiers distribués qui correspondent au classement de la plate-forme Hadoop. HDFS convient au stockage de grandes quantités de données (niveaux PB), mais ne convient pas aux scènes à faible retard et ne convient pas à la conservation d'un grand nombre de petits fichiers. HDFS est principalement résolu par le problème du stockage réel de fichier.
2. Mapreduce
Mapreduce est une plate-forme HadoopCadre d'informatique distribué, qui utilise l'idée de «divisée en règles», distribue une tâche démourable à plusieurs nœuds de calcul à calculer, les résultats de calcul final de la fusion. Par conséquent, Mapreduce comprend deux parties: la phase de la carte et la phase de réduction (l'ensemble du processus peut également inclure la division, le mélange, etc.). Se référant à la figure ci-dessous, prenez la tâche statistique classique des mots comme exemple. On peut constater que la phase de carte complète principalement la division spécifique du nombre de travailleurs et de simples comptes, et la tâche de calcul finale est complétée au cours de la REDUU, c'est-à-dire que le nombre de mots est accumulé.
Caractéristique d'exécution MapReduce
Mapreduce est principalement utilisé pour les travaux de calcul des données de masse (au-dessus du niveau PB).
3.HBASE
HBASE est basé sur le stockage basé sur HDFS, la base de données distribuée non relationnelle (NOSQL), HBASE dispose de haut niveau, de haute performance, de stockage de colonne, de lecture et d'écriture en temps réel, etc. Caractéristiques. NOSQL est interprété comme non seulement SQL, pas seulement SQL, des bases de données non relationnelles n'utilisent pas SQL comme langue d'accès primaire. Il est principalement avantageux dans le coût, la vitesse de requête, le format de stockage, l'évolutivité, etc. Le stockage de la colonne est une classe dans la base de données non relationnelle et la base de données relationnelle traditionnelle est stockée en fonction de la ligne et la base de données de stockage de colonne stocke séparément, seules les colonnes requises, de sorte que la vitesse de requête est considérablement améliorée. De telles connaissances préliminaires, il n'y a pas d'extension excessive ici.
Avec les caractéristiques de HBASE, un cluster de stockage à grande échelle peut être construit sur un serveur bon marché. Les HDFS, MapReduce et HBASE sont appelés la chariot à trois conduites de Hadoop, qui est la composition la plus importante. Enfin, dans une brève introduction, d'autres composants courants sont donnés, comme une compréhension complémentaire. Comprend la transmission d'acquisition de données, le stockage de données, le calcul des données, l'expression de l'analyse de données et la gestion du système.1. Classe de transmission d'acquisition de données
1) PLUMEPour des grumes massives non contraries, les outils d'acquisition sont principalement utilisés pour collecter des données à HDFS.
2) SQOOPLes outils permettant de transmettre efficacement de grandes quantités de données entre Hadoop et stockage de données structurées (telles que des bases de données relationnelles). Principalement utilisé pour importer des données à partir de systèmes de gestion de la base de données relationnels (tels que Oracle, MySQL) à Hadoop (HDFS, Hive), ou importer des bases de données relationnelles de Hadoop.
3) KAFK
File d'attente de messages distribuée de manière continue pour la publication d'un message d'abonnement. Vous pouvez utiliser le cadre de débit (tel que la tempête) pour compléter le traitement de la transmission des données en temps réel.
2. Classe de stockage de données1) HIVE
Hadoop Data Warehouse Cadre, basé sur le paquet MapReduce. Il stockera des fichiers dans HDFS à notre tableau de données familiers et fournira une instruction CLASS SQL (HIVE SQL / HQL) pour les opérations de la fiche de données. Il s'agit d'une compétence indispensable à l'aide de l'entrepôt de données de la plate-forme Hadoop.
2) MEMCACHEDSur la base du système de cache de mémoire de mémoire de haute performance, de la haute performance, résout le problème du cache de données volumineux et peut cacher la requête de données en mémoire. 3) Redis
Sur la base de la valeur de clé, une base de données de mémoire de type logement durable. Redis est similaire à Memcached, mais prend en charge plus de types de stockage. De plus, ReDIS peut écrire des données en mémoire sur le disque dur pour effectuer un stockage persistant. Il est également possible de définir le temps d'expiration de la clé et d'expirer automatiquement supprimer le cache.
3. Classe de calcul de données1) Spark
N'utilise pas MapReduce pour effectuer le moteur, Cadre de traitement de données à base de mémoire, calcul du groupe pour le système de traitement de l'analyse de données. Par rapport à MAPRÉDUCE, les processus hors ligne, les données de l'étincelle peuvent effectuer un traitement d'analyse des données de diffusion en temps réel. Dans le même temps, ses caractéristiques dans l'ensemble de données de travail de stockage de mémoire le rendent en avance sur MapReduce et la consommation de mémoire est naturellement grande. Lorsque la tâche est élevée en temps réel, vous pouvez envisager de sélectionner Spark.
2) Storm
Cadre de calcul du débit Pour le calcul de la mémoire complète, le positionnement est un système informatique en temps réel distribué. Les données pouvant être traitées de l'entrée dans les données et une donnée est traitée et elle est vraie.
3) FLINKCadre de calcul pour les données de flux + Données par lots. Regardez les données du lot comme cas particulier des données en streaming, de faibles délais (millisecondes) et assurez-vous que la messagerie n'est pas perdue sans répétition. 4. Analyse et visualisation des données
1) Zeppelin
Outil d'analyse de données contient une analyse de données et une visualisation de données, peut créer un nouvel ordinateur portable via la page Web pour compléter la requête de données, l'analyse et exportation.
2) Elkest collectivement appelé Elasticsearch, Logstash, Kibana, qui est un ensemble de solutions de collecte de données, de stockage, d'indexation, de récupération, d'analyse statistique et de visualisation en temps réel et de solutions de visualisation. Elasticsearch est un moteur de stockage et de récupération distribué qui stocke rapidement et interroger des données en temps réel.Couramment utilisé pour récupérer rapidement le contenu. LOGSTHY est un moteur de collecte de données qui collecte des données de diffusion en temps réel (telles qu'un journal), qui peut être utilisée pour recevoir, traiter et faire des journaux en avant. Kibana est une plate-forme d'analyse et de visualisation des données. Vous pouvez rechercher et interroger les données stockées dans l'index Elasticsearch et réaliser une analyse et une visualisation avancées de données. La dernière version a été renommée ELASTIC Stack et a ajouté le projet Beats des données d'acquisition
5. Gestion du système
1) ZOODEPER
est un service de coordination distribué pour Les applications fournissent une nommaison unifiée, la configuration de la maintenance, le service de noms de domaine, la synchronisation distribuée et d'autres services cohérents. 2) Fil
est le système de gestion des ressources en grappes de Hadoop. En tant que gestionnaire de trame, gérer et planification de ressources pour les cadres informatiques, tels que MapReduce, Spark, Storm et Flight, etc.
Les articles de la plate-forme de données pour les produits non techniques et le personnel connexe, la lecture se sentira très ennuyeuse, l'apprentissage et la compréhension est vraiment difficile. Mais si vous pouvez bien comprendre les connaissances, vous aiderez dans les travaux de données futurs, et il sera plus lisse lors de la communication avec des camarades de classe techniques. Donc, il est recommandé de frapper la tête.
La plate-forme de données est terminée.