Différence entre Apache Hive et Apache HBase -

L'histoire d'Apache Hive commence en 2007, lorsque le programmeur non Java doit lutter pour utiliser Hadoop MapReduce. Les chercheurs et les développeurs ont prédit que demain serait une ère de Big Data. Déjà différents formats de données comme structurés, semi-structurés et non structurés s'accumulaient. Même Facebook se débattait avec la plus grande quantité de traitement de données. Les chercheurs de Facebook ont ​​présenté Apache Hive pour le traitement des données sur le cluster Hadoop. Facebook a été la première entreprise à proposer Apache Hive.

L'histoire d'Apache HBase commence en 2006 lorsque la startup Powerset basée à San Francisco essayait de construire un moteur de recherche en langage naturel pour le Web. HBase est une implémentation de la Bigtable de Google. Avons-nous jamais réalisé pourquoi il était nécessaire de proposer une autre architecture de stockage? Le système de gestion de base de données relationnelle existe depuis le début des années 1970. Il existe de nombreux cas d'utilisation pour lesquels les bases de données relationnelles sont parfaitement logiques, mais pour certains problèmes spécifiques, le modèle relationnel ne convient pas très bien.

Permettez-moi de vous expliquer plus en détail Apache Hive et Apache HBase.

Différences entre Apache Hive et Apache HBase

Apache Hive est un projet open source Apache construit au-dessus de Hadoop pour interroger, résumer et analyser de grands ensembles de données à l'aide d'une interface de type SQL. Apache Hive fournit un langage de type SQL appelé HiveQL, qui convertit de manière transparente les requêtes en MapReduce pour exécution sur de grands ensembles de données stockés dans Hadoop Distributed File System (HDFS). Apache Hive est un composant de cluster Hadoop qui est normalement déployé par les analystes de données. La ruche Apache est utilisée pour le traitement par lots de gros travaux ETL. Apache Hive prend également en charge les requêtes SQL par lots sur de très grands ensembles de données. Apache Hive augmente la flexibilité de conception du schéma ainsi que la sérialisation et la désérialisation des données. Apache Hive ne prend pas en charge le traitement des transactions en ligne (OLTP) car la ruche ne prend pas en charge les requêtes en temps réel et les mises à jour au niveau des lignes.

Apache HBase est une base de données NoSQL open source qui fournit un accès en temps réel, en lecture et en écriture à de grands ensembles de données. NoSQL est une base de données non relationnelle. Apache HBase est une base de données orientée colonne distribuée qui s'exécute sur Hadoop Distributed File System (HDFS). Ainsi, HBase apporte les avantages de NoSQL à Hadoop. Apache HBase offre des capacités d'accès aléatoire aux données présentes dans HDFS. Il exploite la tolérance aux pannes fournie par le HDFS. L'utilisateur peut stocker les données dans HDFS soit directement, soit via HBase.

Comparaison directe entre Apache Hive et Apache HBase (infographie)

Ci-dessous se trouve la principale différence entre Apache Hive et Apache HBase

Différences clés - Apache Hive vs Apache HBase

Voici la liste des points, décrivez les principales différences entre Apache Hive et Apache HBase:

  • Apache HBase est une base de données tandis qu'Apache Hive est un moteur de base de données.
  • Apache Hive est principalement utilisé pour le traitement par lots (OLAP) tandis qu'Apache HBase est principalement utilisé pour le traitement transactionnel (OLTP).
  • Apache Hive exécute la plupart des requêtes SQL tandis qu'Apache HBase n'autorise pas directement les requêtes SQL.
  • Apache Hive ne prend pas en charge les opérations de niveau enregistrement telles que la mise à jour, l'insertion et la suppression tandis qu'Apache HBase prend en charge les opérations de niveau d'enregistrement telles que la mise à jour, l'insertion et la suppression.
  • Apache Hive s'exécute sur MapReduce tandis qu'Apache HBase s'exécute sur Hadoop Distributed File System (HDFS).

Apache Hive interroge les fichiers en définissant une table virtuelle et en exécutant des requêtes HQL dessus. C'est un processus où les fichiers sont virtuellement connectés à une table comme une structure et l'utilisateur peut exécuter Hive Query Language (HQL) et ces requêtes sont converties en MapReduce Job par Hive. L'utilisateur n'a pas à écrire le travail MapReduce, les requêtes HQL sont converties en interne en fichiers jar et ces fichiers jar seront implémentés sur des jeux de données.

Dans Apache HBase, les tables sont divisées en régions et sont desservies par les serveurs de région. D'autres régions sont divisées verticalement par familles de colonnes en magasins et les magasins sont enregistrés en tant que fichiers dans HDFS.

Quand utiliser Apache Hive:

  • Exigences d'entreposage de données
  • Requêtes analytiques
  • Analyse des données qui connaissent SQL

Quand utiliser Apache HBase:

  • Traitement des données rapide et interactif
  • Requêtes en temps réel
  • Recherches rapides
  • Traitement côté serveur
  • Accès en lecture / écriture aléatoire aux Big Data
  • Évolutivité des applications

Apache Hive peut être utilisé pour calculer les tendances et les journaux du site Web de commerce électronique pour une durée, une région ou un fuseau horaire particulier. Il peut être utilisé pour traiter des requêtes par lots sur des données historiques, tandis qu'Apache HBase peut être utilisé par Facebook ou LinkedIn pour la messagerie et l'analyse en temps réel. Il peut également être utilisé pour compter les likes.

Tableau de comparaison Apache Hive vs Apache HBase

Je discute des principaux artefacts et je fais la distinction entre Apache Hive et Apache HBase.

Apache HiveApache HBase
Traitement de l'informationApache Hive est utilisé pour

traitement par lots, c'est-à-dire traitement analytique en ligne (OLAP)

Apache HBase est utilisé pour le traitement transactionnel, c'est-à-dire le traitement transactionnel en ligne (OLTP)
Vitesse de traitementApache Hive a une latence plus élevée en raison de l'exécution du travail MapReduce en arrière-planApache HBase fonctionne sur les requêtes en temps réel et beaucoup plus rapidement qu'Apache Hive
Compatibilité avec HadoopApache Hive s'exécute au-dessus de MapReduceApache HBase s'exécute sur HDFS
DéfinitionApache Hive est open source et similaire à SQL utilisé pour les requêtes analytiquesApache HBase est une base de données NoSQL open source utilisée pour les requêtes en temps réel
Métadonnées partagéesLes données créées dans Apache Hive sont automatiquement visibles pour Apache HBaseLes données créées dans Apache HBase sont automatiquement visibles pour Apache Hive
SchémaApache hive prend en charge le schéma pour l'insertion de données dans des tableauxApache HBase est une base de données sans schéma.
Fonction de mise à jourLa fonctionnalité de mise à jour est compliquée dans Apache HiveL'utilisateur peut très facilement mettre à jour les données dans Apache HBase
Les opérationsLes opérations dans Apache Hive ne s'exécutent pas en temps réelLes opérations dans Apache HBase s'exécutent en temps réel
Types de donnéesApache Hive est destiné aux données structurées et semi-structuréesApache HBase est destiné aux données non structurées.
Niveau de cohérenceLa ruche Apache prend en charge la cohérence éventuelleApache HBase prend en charge la cohérence immédiate
Méthodes de partitionApache Hive prend en charge les fonctionnalités de partageApache HBase prend également en charge les fonctionnalités de partage
Stockage de donnéesLa date est stockée dans Hive Metastore, Partitions and Buckets dans Apache HiveLes données sont stockées dans les colonnes et les lignes des tables dans Apache HBase

Conclusion - Apache Hive vs Apache HBase

Généralement, Apache Hive vs Apache HBase est utilisé ensemble dans le même cluster. Les deux peuvent être utilisés ensemble pour améliorer la puissance de traitement. Depuis hive améliore les côtés analytiques de HDFS tandis que HBase améliore les transactions en temps réel. L'utilisateur peut utiliser Hive comme un outil ETL pour les insertions par lots avec les données dans HBase, puis pour exécuter des requêtes qui peuvent encore joindre les données présentes sur les tables HBase avec les données déjà présentes sur HDFS. Les données peuvent être lues et écrites depuis Apache Hive vers HBase et vice versa. L'interface entre Apache Hive et Apache HBase est encore en phase de maturation. Il y a encore beaucoup à venir. Pourtant, je peux dire que les deux Apache Hive vs Apache HBase rendent le cluster Hadoop plus robuste et plus puissant.

Articles Liés:

Ceci a été un guide pour Apache Hive vs Apache HBase, leur signification, comparaison tête à tête, différences clés, tableau de comparaison et conclusion. Vous pouvez également consulter les articles suivants pour en savoir plus -

  • Top 5 des tendances Big Data
  • 5 défis de l'analyse de Big Data
  • Comment cracker l'interview du développeur Hadoop?
  • 5 défis de l'analyse de Big Data

Catégorie: