57 votes

Comment Hive se compare-t-il à HBase?

Je voudrais savoir comment Hive, récemment publié ( http://mirror.facebook.com/facebook/hive/hadoop-0.17/ ), se compare à HBase en termes de performances. L'interface de type SQL utilisée par Hive est bien préférable à l'API HBase que nous avons implémentée.

50voto

Chris Bunch Points 25857

Il est difficile de trouver beaucoup sur la Ruche, mais j'ai trouvé cet extrait sur le site de la Ruche qui penche fortement en faveur de HBase (caractères gras ajoutés):

La ruche est basée sur Hadoop, qui est un système de traitement par lots. En conséquence, ce système ne fonctionne pas et ne peut pas promettre des faibles latences sur les requêtes. L'idée ici est strictement de l'envoi de tâches et d'être informé lorsque les tâches sont terminées par opposition à temps réel des requêtes. En conséquence, il ne devrait pas être comparé avec des systèmes comme Oracle, où l'analyse est effectuée sur une beaucoup plus petite quantité de données, mais l'analyse a produit beaucoup plus de manière itérative avec le temps de réponse entre les itérations de moins de quelques minutes. Pour des requêtes Hive temps de réponse, même le plus petit des emplois peuvent être de l'ordre de 5 à 10 minutes et pour les gros travaux, cela peut même fonctionner en heures.

Depuis HBase et HyperTable sont tout au sujet de la performance (modélisé sur BigTable de Google), ils sonnent comme ils seraient certainement beaucoup plus rapide que la Ruche, au prix de fonctionnalités et une plus grande courbe d'apprentissage (par exemple, ils n'ont pas de joint ou de la syntaxe de type SQL).

11voto

Jeff Hammerbacher Points 2020

D'un point de vue, la Ruche se compose de cinq éléments principaux: un SQL-comme la grammaire et de l'analyseur, un planificateur de requête, un moteur d'exécution de requête, un référentiel de métadonnées, et un stockage en colonnes de mise en page. Son objectif principal est d'entrepôt de données de style d'analyse des charges de travail, donc une faible latence de la récupération des valeurs de clé n'est pas nécessaire.

HBase a son propre référentiel de métadonnées et le stockage en colonnes de mise en page. Il est possible d'auteur HiveQL des requêtes sur HBase de tables permettant HBase pour profiter de la Ruche de la grammaire et de l'analyseur, planificateur de requête, et le moteur d'exécution de requête. Voir http://wiki.apache.org/hadoop/Hive/HBaseIntegration pour plus de détails.

8voto

Tim Points 416

La ruche est un outil d'analyse. Tout comme cochon, il a été conçu pour le traitement ad hoc de traitement potentiellement énormes quantités de données en misant sur la carte de réduire. Pensez terra-octets. Imaginez que vous essayez de le faire dans une base de données relationnelle...

HBase est une colonne en fonction de la valeur de clé de magasin basé sur BigTable. Vous ne pouvez pas faire des requêtes en soi, mais vous pouvez exécuter carte de réduire les travaux sur HBase. C'est l'utilisation principale est l'extraction des lignes de clé ou de la numérisation des plages de lignes. Une caractéristique majeure est d'être capable d'avoir la localité des données lors de la numérisation à travers les plages de la rangée de touches pour une "famille" de colonnes.

5voto

haijin Points 437
<p>À mon humble connaissance, la ruche est plus comparable à cochon. Ruche est similaire à SQL et cochon est basée sur le script. Ruche semble être plus compliquée avec les moteurs optimisation et exécution de requête ainsi que nécessite l’utilisateur final doit spécifier les paramètres de schéma (partition etc.). Les deux sont à l’intention de traiter les fichiers texte ou sequenceFiles.</p> <p>HBase est pour la valeur de clé de données stockent et récupérer des... vous pouvez numériser ou filtrer sur les pairs(rows) de la valeur de la clé. Vous ne pouvez pas faire des requêtes (clé, valeur) lignes.</p>

3voto

Shawn H Points 607

Selon le plus récent de la Ruche communiqués, beaucoup de choses ont changé qui nécessite une petite mise à jour comme la Ruche et HBase sont maintenant intégrés. Ce que cela signifie, c'est que la Ruche peut être utilisé comme une couche de requête à un magasin de données HBase. Maintenant si les gens sont à la recherche d'autres HBase interfaces, Cochon offre aussi une belle façon de chargement et de stockage de données HBase. En outre, il ressemble à Cloudera Impala peut offrir des performances de la Ruche en fonction des requêtes sur le dessus de HBase. Ils sont réclamer jusqu'à 45x des requêtes plus rapides par rapport à la traditionnelle Ruche configurations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X