Différence entre HBase et Hadoop / HDFS

C’est une sorte de question naïve, mais je ne suis pas familier avec le paradigme NoSQL. Donc, si quelqu’un peut m’aider à comprendre clairement la différence entre HBase et Hadoop ou donner des indications qui pourraient m’aider à comprendre la différence.

Jusqu’à présent, j’ai fait des recherches et acc. À ma connaissance, Hadoop fournit un cadre pour travailler avec des données brutes (fichiers) dans HDFS et HBase est un moteur de firebase database supérieur à Hadoop, qui fonctionne essentiellement avec des données structurées plutôt qu’avec des données brutes. Hbase fournit une couche logique sur HDFS, tout comme SQL. Est-ce correct?

Pls se sentent libres de me corriger.

Merci.

    Hadoop est essentiellement composé de 3 éléments, un système de fichiers dissortingbué Hadoop (FS), 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 dans un mode dissortingbué (fournit un access en lecture / écriture plus rapide) et redondant (offre une meilleure disponibilité). Et MapReduce vous permet de traiter ces énormes données de manière dissortingbuée et parallèle. Mais MapReduce ne se limite pas à HDFS. En tant que FS, HDFS ne dispose pas de la capacité de lecture / écriture aléatoire. C’est bon pour l’access séquentiel aux données. Et c’est là que HBase entre en scène. C’est une firebase database NoSQL qui s’exécute sur votre cluster Hadoop et vous fournit un access aléatoire en lecture / écriture en temps réel à vos données.

    Vous pouvez également stocker des données structurées et non structurées dans Hadoop et HBase. Les deux fournissent plusieurs mécanismes pour accéder aux données, comme le shell et les autres API. De plus, HBase stocke les données sous forme de paires clé / valeur sous forme de colonnes, tandis que HDFS stocke les données sous forme de fichiers plats. Certaines des principales caractéristiques des deux systèmes sont les suivantes:

    Hadoop

    1. Optimisé pour l’access en streaming de fichiers volumineux.
    2. Suit l’idéologie en lecture seule.
    3. Ne prend pas en charge la lecture / écriture aléatoire.

    HBase

    1. Stocke les paires clé / valeur en colonnes (les colonnes sont regroupées en familles de colonnes).
    2. Fournit un access à faible latence à de petites quantités de données à partir d’un grand dataset.
    3. Fournit un modèle de données flexible.

    Hadoop est le mieux adapté au 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.

    Le projet Apache Hadoop comprend quatre modules clés

    1. Hadoop Common : les utilitaires communs qui prennent en charge les autres modules Hadoop.
    2. Système de fichiers dissortingbués Hadoop (HDFS ™) : Système de fichiers dissortingbué qui fournit un access à haut débit aux données des applications.
    3. Hadoop YARN : un cadre pour la planification des tâches et la gestion des ressources de cluster.
    4. Hadoop MapReduce : Un système basé sur YARN pour le parallel processing de grands ensembles de données.

    HBase est une firebase database dissortingbuée et évolutive qui prend en charge le stockage de données structuré pour les grandes tables. Tout comme Bigtable exploite le stockage de données dissortingbué fourni par le système de fichiers Google, Apache HBase offre des fonctionnalités de type Bigtable par-dessus Hadoop et HDFS.

    Quand utiliser HBase:

    1. Si votre application a un schéma de variables où chaque ligne est légèrement différente
    2. Si vous trouvez que vos données sont stockées dans des collections, elles sont toutes indexées sur la même valeur
    3. Si vous avez besoin d’un access aléatoire en temps réel à vos données Big Data.
    4. Si vous avez besoin d’un access basé sur des clés aux données lors du stockage ou de la récupération.
    5. Si vous avez une énorme quantité de données avec le cluster Hadoop existant

    Mais HBase a des limites

    1. Il ne peut pas être utilisé pour des applications transactionnelles classiques ou même des parsings relationnelles.
    2. Ce n’est pas non plus un substitut complet à HDFS lorsqu’il s’agit de traiter des lots importants de MapReduce.
    3. Il ne parle pas SQL, dispose d’un optimiseur, prend en charge les transactions inter-enregistrements ou les jointures.
    4. Il ne peut pas être utilisé avec des modèles d’access compliqués (tels que les jointures)

    Résumé:

    Considérez HBase lorsque vous chargez des données par clé, recherchez des données par clé (ou plage), diffusez des données par clé, interrogez des données par clé ou lorsque vous stockez des données par ligne qui ne sont pas conformes à un schéma.

    Jetez un coup d’oeil à Do’s et Don’t of HBase du blog de cloudera .

    Hadoop utilise un système de fichiers dissortingbué, c’est-à-dire HDFS pour stocker bigdata.

    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 des données, même pour les tâches les plus simples. Un dataset volumineux lors du traitement génère un autre dataset énorme, qui doit également être traité de manière séquentielle. À ce stade, une nouvelle solution est nécessaire pour accéder à tout sharepoint données dans une seule unité de temps (access aléatoire).

    Comme tous les autres systèmes de fichiers, HDFS nous fournit le stockage, mais de manière tolérante aux pannes avec un débit élevé et un risque de perte de données réduit (en raison de la réplication). C’est ici que HBase entre en scène. C’est un magasin de données volumineuses dissortingbué, évolutif, inspiré de BigTable de Google. Cassandra est un peu similaire à hbase.

    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 dissortingbué qui dissortingbue les données sur un cluster de machines prenant en charge la redondance, etc. 2) Map Reduce. Un système de gestion des tâches au-dessus de HDFS – pour gérer les tâches de réduction de carte (et d’autres types) traitant les données stockées sur HDFS.

    Fondamentalement, cela signifie que c’est 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 firebase database basée sur des colonnes. Il utilise HDFS comme stockage – qui prend en charge la sauvegarde \ redondance \ etc mais c’est un “magasin en ligne” – ce qui signifie que vous pouvez lui demander des lignes / lignes, etc. spécifiques et obtenir une valeur immédiate.