C'est un peu une question naïve mais je suis nouveau dans le paradigme NoSQL et je n'en sais pas grand-chose. Donc, si quelqu'un peut m'aider à comprendre clairement la différence entre le HBase et Hadoop ou si vous donnez des conseils qui pourraient m'aider à comprendre la différence.
Jusqu'à présent, j'ai fait quelques recherches et acc. à ma connaissance, Hadoop fournit un cadre pour travailler avec un morceau de données brutes (fichiers) dans HDFS et HBase est un moteur de base de données au-dessus de Hadoop, qui fonctionne essentiellement avec des données structurées au lieu d'un morceau de données brutes. Hbase fournit une couche logique sur HDFS, tout comme le fait SQL. Est-ce correct?
Pls n'hésitez pas à me corriger.
Merci.
Réponses:
Hadoop est fondamentalement 3 choses, un FS (Hadoop Distributed File System), un framework de calcul (MapReduce) et un pont de gestion (Yet Another Resource Negotiator). HDFS vous permet de stocker d'énormes quantités de données de manière distribuée (offre un accès en lecture / écriture plus rapide) et redondante (offre une meilleure disponibilité). Et MapReduce vous permet de traiter ces énormes données de manière distribuée et parallèle. Mais MapReduce ne se limite pas à HDFS. Étant un FS, HDFS n'a pas la capacité de lecture / écriture aléatoire. C'est bon pour l'accès séquentiel aux données. Et c'est là que HBase entre en scène. Il s'agit d'une base de données NoSQL qui s'exécute sur votre cluster Hadoop et vous fournit un accès aléatoire en lecture / écriture en temps réel à vos données.
Vous pouvez stocker des données structurées et non structurées dans Hadoop et HBase également. Les deux vous fournissent plusieurs mécanismes pour accéder aux données, comme le shell et d'autres API. De plus, HBase stocke les données sous forme de paires clé / valeur en colonnes, tandis que HDFS stocke les données sous forme de fichiers plats. Certaines des principales caractéristiques des deux systèmes sont:
Hadoop
HBase
Hadoop est le plus adapté pour le traitement par lots hors ligne, tandis que HBase est utilisé lorsque vous avez des besoins en temps réel.
Une comparaison analogue serait entre MySQL et Ext4.
la source
Le projet Apache Hadoop comprend quatre modules clés
HBase est une base de données distribuée évolutive qui prend en charge le stockage de données structuré pour les grandes tables. Tout comme
Bigtable
exploite le stockage de données distribué fourni par le système de fichiers Google, Apache HBase fournit des capacités de type Bigtable en plus de Hadoop et HDFS.Quand utiliser HBase:
Mais HBase a quelques limites
Résumé:
Jetez un œil aux choses à faire et à ne pas faire de HBase sur le blog de cloudera .
la source
Hadoop utilise un système de fichiers distribué, c'est-à-dire HDFS, pour stocker des données volumineuses.
Hadoop ne peut effectuer que le traitement par lots et les données ne seront accessibles que de manière séquentielle. Cela signifie qu'il faut rechercher l'ensemble de données, même pour les tâches les plus simples: un énorme ensemble de données lorsqu'il est traité aboutit à un autre énorme ensemble de données, qui doit également être traité séquentiellement. À ce stade, une nouvelle solution est nécessaire pour accéder à n'importe quel point de données en une seule unité de temps (accès aléatoire).
Comme tous les autres systèmes de fichiers, HDFS nous fournit du stockage, mais de manière tolérante aux pannes avec un débit élevé et un risque moindre de perte de données (en raison de la réplication) .Mais, étant un système de fichiers, HDFS n'a pas d'accès aléatoire en lecture et en écriture. C'est là qu'intervient HBase. Il s'agit d'un magasin Big Data distribué et évolutif, inspiré du BigTable de Google. Cassandra est un peu similaire à hbase.
la source
HBase et HDFS en une seule image
HDFS est un système de fichiers distribué parfaitement adapté au stockage de fichiers volumineux. qui ne permet pas de rechercher rapidement des enregistrements individuels dans les fichiers.
HBase , d'autre part, est construit sur HDFS et fournit des recherches rapides d'enregistrements (et des mises à jour) pour les grandes tables. Cela peut parfois être un point de confusion conceptuelle. HBase place en interne vos données dans des "StoreFiles" indexés qui existent sur HDFS pour des recherches à grande vitesse.
Eh bien, au niveau de l'infrastructure, chaque machine Salve du cluster a des démons suivants
HBase effectue des recherches rapides sur HDFS (parfois d'autres systèmes de fichiers distribués également) en tant que stockage sous-jacent, en utilisant le modèle de données suivant
Table
Rangée
Colonne
Famille de colonnes
Qualificateur de colonne
Cellule
Horodatage
Flux de demande de lecture du client:
Quelle est la méta-table dans l'image ci-dessus?
sources et plus d'informations:
la source
Référence: http://www.quora.com/What-is-the-difference-between-HBASE-and-HDFS-in-Hadoop
Hadoop est un nom général pour plusieurs sous-systèmes: 1) HDFS. Un système de fichiers distribué qui distribue les données sur un cluster de machines en prenant soin de la redondance, etc. 2) Map Reduce. Un système de gestion des travaux en plus de HDFS - pour gérer les travaux de réduction de carte (et d'autres types) traitant les données stockées sur HDFS.
Fondamentalement, cela signifie qu'il s'agit d'un système hors ligne - vous stockez des données sur HDFS et vous pouvez les traiter en exécutant des tâches.
HBase d'autre part dans une base de données basée sur des colonnes. Il utilise HDFS comme stockage - qui prend en charge la sauvegarde \ la redondance \ etc mais c'est une "boutique en ligne" - ce qui signifie que vous pouvez l'interroger pour des lignes spécifiques, etc. et obtenir une valeur immédiate.
la source
HDFS est un système de fichiers distribué basé sur Java qui vous permet de stocker des données volumineuses sur plusieurs nœuds dans un cluster Hadoop. Alors que HBase est une base de données NoSQL (similaire à NTFS et MySQL).
Comme HDFS et HBase stockent tous les types de données telles que structurées, semi-structurées et non structurées dans un environnement distribué.
Différences entre HDFS et HBase
HDFS stocke de grands ensembles de données dans un environnement distribué et exploite le traitement par lots de ces données.
Alors que HBase stocke les données d'une manière orientée colonne où chaque colonne est stockée ensemble, de sorte que la lecture devient plus rapide en exploitant le traitement en temps réel.
la source