Système de connaissance complet de l'écosystème du Big Data

Avec le développement de l'industrie des mégadonnées, les technologies connexes dans l'écosystème des mégadonnées ont également progressé de manière itérative. L'auteur a la chance d'avoir personnellement expérimenté le processus de développement de l'industrie nationale des mégadonnées de zéro à un. À travers cet article, je J'espère vous aider à construire rapidement un système de connaissances complet sur l'écosystème du Big Data.

À l'heure actuelle, les technologies de base de l'écosystème des mégadonnées sont résumées comme illustré à la figure 1 et sont réparties dans les 9 catégories suivantes, qui sont présentées séparément ci-dessous.

1. Cadre technique de collecte des données

L'acquisition de données est également connue sous le nom de synchronisation de données. Avec l'essor de technologies telles qu'Internet, l'Internet mobile et l'Internet des objets, des quantités massives de données ont été générées. Ces données sont dispersées à divers endroits, et nous devons fusionner ces données ensemble, puis calculer un contenu précieux à partir de ces données massives. La première étape consiste à collecter les données. La collecte de données est le fondement du big data, sans collecte de données, qu'en est-il du big data !

Le cadre technique de la collecte de données comprend les éléments suivants :

  • Flume, Logstash et FileBeat sont souvent utilisés pour la surveillance en temps réel et la collecte de données de journal. Les différences détaillées entre eux sont présentées dans le tableau 1 :

  • Sqoop et Datax sont souvent utilisés pour la collecte de données hors ligne de bases de données relationnelles. Les différences détaillées entre eux sont présentées dans le tableau 2 :

  • Cannal et Maxwell sont souvent utilisés pour la collecte de données en temps réel dans des bases de données relationnelles. Les différences détaillées entre eux sont présentées dans le tableau 3 :

La sélection technique de Flume, Logstash et FileBeat est illustrée à la figure 2 :

La sélection de technologie entre Sqoop et Datax est illustrée à la figure 3 :

La sélection de technologie entre Cannal et Maxwell est illustrée à la Figure 4 :

2. Cadre technologique de stockage de données

La croissance rapide des données a favorisé le développement de la technologie et un certain nombre d'excellents systèmes de stockage distribués ont vu le jour.

Les cadres de technologie de stockage de données incluent HDFS, HBase, Kudu, Kafka, etc.

  • HDFS peut résoudre le problème du stockage de données de masse, mais son plus grand inconvénient est qu'il ne prend pas en charge l'opération de modification d'une seule donnée, car ce n'est pas une base de données après tout.

  • HBase est une base de données NoSQL distribuée basée sur HDFS. Cela signifie que HBase peut utiliser les énormes capacités de stockage de données de HDFS et prendre en charge les opérations de modification. Mais HBase n'est pas une base de données relationnelle, il ne peut donc pas prendre en charge la syntaxe SQL traditionnelle.

  • Kudu est un composant technique entre HDFS et HBase, qui prend en charge à la fois la modification des données et les fonctions d'analyse de données basées sur SQL.À l'heure actuelle, le positionnement de Kudu est maladroit, c'est une solution de compromis et son application dans les travaux pratiques est limitée.

  • Kafka est souvent utilisé pour le stockage tampon temporaire de données volumineuses, offrant des capacités de lecture et d'écriture à haut débit au monde extérieur.

3. Cadre de gestion des ressources distribuées

Dans le domaine informatique traditionnel, les ressources serveur d'une entreprise (mémoire, processeur, etc.) sont limitées et fixes. Cependant, les scénarios d'application du serveur sont flexibles et modifiables. Par exemple, un système est temporairement en ligne aujourd'hui, qui doit occuper plusieurs serveurs ; après quelques jours, le système doit être mis hors ligne et ces serveurs doivent être nettoyés.

Avant l'avènement de l'ère des mégadonnées, les changements dans les ressources du serveur correspondaient à la mise en ligne et hors ligne du système, et ces changements étaient limités. Avec l'avènement de l'ère du Big Data, la demande de tâches temporaires a considérablement augmenté, et ces tâches nécessitent souvent beaucoup de ressources serveur. Il est évidemment irréaliste de compter sur le personnel d'exploitation et de maintenance pour connecter manuellement les modifications aux ressources du serveur à ce stade. Par conséquent, les systèmes de gestion des ressources distribuées émergent au fur et à mesure que les temps l'exigent. Les plus courants incluent YARN, Kubernetes et Mesos. Leurs domaines d'application typiques sont illustrés à la figure 5.

4. Cadre technologique de calcul de données

Le calcul des données est divisé en calcul de données hors ligne et calcul de données en temps réel.

1. Calcul des données hors ligne

Après plus de dix ans de développement, le moteur de calcul de données hors ligne dans le Big Data a subi jusqu'à présent trois changements majeurs.

  • MapReduce peut être considéré comme la première génération de moteur de calcul de données hors ligne dans l'industrie du Big Data, qui est principalement utilisé pour résoudre le calcul parallèle distribué d'ensembles de données à grande échelle. L'idée centrale du moteur de calcul MapReduce est d'abstraire la logique de calcul en deux étapes de Map et Reduce pour le traitement.

  • Le moteur informatique Tez a une faible présence dans l'écosystème de la technologie du Big Data, et Tez est rarement utilisé seul pour développer des programmes informatiques dans le cadre d'un travail réel.

  • La principale caractéristique de Spark est le calcul en mémoire : tous les résultats intermédiaires de la phase d'exécution de la tâche sont placés en mémoire, et il n'est pas nécessaire de lire et d'écrire sur le disque, ce qui améliore considérablement les performances de calcul des données. Spark fournit un grand nombre de fonctions d'ordre supérieur (également appelées opérateurs), qui peuvent implémenter des calculs itératifs de diverses logiques complexes, et sont très adaptées aux exigences de calcul rapides et complexes pour des données massives.

2. Calcul des données en temps réel

Le scénario de calcul de données en temps réel le plus typique de l'industrie est le grand écran de données du "Double Eleven" de Tmall. Les indicateurs de données tels que le montant total de la transaction et le volume total de la commande affichés sur l'écran Big Data sont tous calculés en temps réel. Une fois que l'utilisateur a acheté le produit, le montant du produit sera ajouté au montant total de la transaction sur l'écran Big Data en temps réel.

  • Storm est principalement utilisé pour réaliser le calcul distribué de données en temps réel.

  • Flink est une nouvelle génération de moteur de calcul distribué de données en temps réel, et ses performances informatiques et son écosystème sont meilleurs que Storm.

  • Le composant SparkStreaming dans Spark peut également fournir des fonctions de calcul distribué de données en temps réel basées sur des secondes.

Les différences entre lui et Storm et Flink sont présentées dans le tableau 4.

La sélection technique entre Storm, Spark et Flink est illustrée à la figure 6.

À l'heure actuelle, Spark est principalement utilisé pour l'informatique hors ligne dans les entreprises, et Flink est principalement utilisé pour l'informatique en temps réel.

Cinq, cadre technologique d'analyse de données

Les cadres techniques d'analyse de données incluent Hive, Impala, Kylin, Clickhouse, Druid, Drois, etc. Leurs scénarios d'application typiques sont illustrés à la figure 7.

Hive, Impala et Kylin sont des moteurs d'analyse de données OLAP hors ligne typiques, qui sont principalement utilisés dans le domaine de l'analyse de données hors ligne. Les différences entre eux sont présentées dans le tableau 5.

tableau 5

  • L'efficacité d'exécution de Hive est moyenne, mais la stabilité est extrêmement élevée ;

  • Impala peut fournir une excellente efficacité d'exécution basée sur la mémoire, mais la stabilité est générale ;

  • Kylin peut fournir une réponse de niveau milliseconde à des données de niveau pétaoctet grâce au précalcul.

Clickhouse, Druid et Drois sont des moteurs d'analyse de données OLAP en temps réel typiques, qui sont principalement utilisés dans l'analyse de données en temps réel. Les différences entre eux sont présentées dans le tableau 6.

  • Druid et Doris peuvent prendre en charge une simultanéité élevée et ClickHouse a des capacités de simultanéité limitées ; la prise en charge SQL de Druid est limitée, ClickHouse prend en charge le SQL non standard et Doris prend en charge le SQL standard, ce qui est meilleur pour SQL.

  • À l'heure actuelle, Druid et ClickHouse sont relativement matures et Doris est dans une phase de développement rapide.

6. Cadre technique de planification des tâches

Y compris Azkaban, Ooize, DolphinScheduler, etc. Ils conviennent aux tâches de routine exécutées à des horaires ordinaires, ainsi qu'aux tâches à plusieurs niveaux contenant des dépendances complexes pour la planification, la distribution de support et garantissent les performances et la stabilité du système de planification. La différence entre eux est indiquée dans le tableau 7.

Leurs sélections technologiques précédentes sont illustrées à la figure 8.

7. Le cadre technique de base sous-jacent du big data

Le cadre technique de base sous-jacent du big data fait principalement référence à Zookeeper. Zookeeper fournit principalement des fonctions de base communes (telles que des espaces de noms, des services de configuration, etc.), et Zookeeper est utilisé dans le fonctionnement de composants techniques tels que Hadoop (HA), HBase et Kafka dans l'écosystème du Big Data.

8. Cadre technologique de récupération de données

Avec l'accumulation progressive de données dans l'entreprise, les besoins d'analyse statistique de données massives deviendront de plus en plus diversifiés : non seulement l'analyse, mais aussi les requêtes rapides et complexes avec de multiples conditions. Par exemple, la fonction de recherche de produits de base dans les sites Web de commerce électronique et la fonction de recherche d'informations dans divers moteurs de recherche appartiennent à la catégorie des requêtes rapides et complexes avec de multiples conditions.

Lors du choix d'un outil de moteur de recherche en texte intégral, des comparaisons peuvent être faites en termes de facilité d'utilisation, d'évolutivité, de stabilité, de difficulté d'exploitation et de maintenance du cluster, d'intégration de projet et d'activité communautaire. La comparaison de Lucene, Solr et Elasticsearch est présentée dans le tableau 8.

Nine, cadre de gestion de l'installation du cluster Big Data

Si une entreprise souhaite passer du traitement de données traditionnel au traitement de données volumineuses, la première chose à faire est de créer une plate-forme de données volumineuses stable et fiable.

Une plate-forme complète de données volumineuses doit inclure la collecte de données, le stockage de données, le calcul de données, l'analyse de données, la surveillance de cluster et d'autres fonctions, ce qui signifie qu'elle doit inclure Flume, Kafka, Haodop, Hive, HBase, Spark, Flink et d'autres composants. Il doit être déployé sur des centaines voire des milliers de machines.

Si vous comptez sur le personnel d'exploitation et de maintenance pour installer chaque composant séparément, la charge de travail est relativement importante et le problème de correspondance entre les versions et divers conflits doit être pris en compte, et les travaux de maintenance ultérieurs du cluster entraîneront également une forte pression sur le fonctionnement et personnel d'entretien.

Par conséquent, certains fabricants étrangers ont emballé les composants dans le Big Data, fournissant une plate-forme Big Data intégrée, qui peut être utilisée pour installer rapidement les composants Big Data. À l'heure actuelle, les plus courantes dans l'industrie sont CDH, HDP, CDP, etc.

  • HDP : Le nom complet est Hortonworks Data Platform. Il est packagé par Hortonworks sur la base d'Apache Hadoop, fournit une installation et une gestion interfacées à l'aide d'outils Ambari, et intègre des composants communs dans le Big Data, offrant une gestion de cluster unique. HDP est une plateforme de big data open source gratuite et ne fournit pas de services commerciaux ;

  • CDH : Le nom complet est Cloudera Distribution, y compris Apache Hadoop. Commercialisé par Cloudera sur la base d'Apache Hadoop, il permet une installation et une gestion interfacées à l'aide de l'outil Cloudera Manager, et intègre des composants communs au Big Data pour offrir une gestion de cluster unique. CDH est une plate-forme commerciale de big data de facturation, qui peut être essayée pendant 30 jours par défaut. Après cela, si vous souhaitez continuer à utiliser les fonctions avancées et les services commerciaux, vous devez payer la licence, et si vous n'utilisez que les fonctions de base, vous pouvez continuer à l'utiliser gratuitement ;

  • CDP : Cloudera a acquis Hortonworks en octobre 2018, puis a lancé une nouvelle génération de produit de plateforme de big data CDP (Cloudera Data Center). Le numéro de version CDP est une continuation du numéro de version CDH précédent. Depuis la version 7.0, CDP prend en charge le Private Cloud (cloud privé) et le Hybrid Cloud (cloud hybride). CDP intègre les meilleurs composants de HDP et CDH, et ajoute quelques nouveaux composants.

La relation entre les trois est illustrée à la figure 9.

Je suppose que tu aimes

Origine blog.csdn.net/ytp552200ytp/article/details/126364222
conseillé
Classement