Les attributs de HBase

HBase

Sommaire

(Base de données Hadoop) est une implémentation Java de BigTable de Google. Google définit comme un BigTable “ clairsemée, distribué, carte triés multidimensionnelle persistante ”. Il est une définition assez concise, mais vous aurez aussi d'accord qu'il est un peu sur le côté complexe. Pour briser la complexité de BigTable un peu, après une discussion de chaque attribut.

Hbase est clairsemée

Comme vous l'avez deviné, le BigTable distribué système de stockage de données a été conçue pour répondre aux exigences de grands volumes de données. Maintenant, les grandes applications de données stockent beaucoup de données mais grand contenu de données est souvent variable. Imaginez une table traditionnelle dans une information de contact client base de données de l'entreprise stockage, comme le montre:

Client traditionnel contacter Information Table
N ° de clientNom de famillePrénomDeuxième nomAdresse e-mailAdresse de la rue
00001ForgeronJohnTimothée1 Hadoop Lane, NY 11111
00002BicheJeanneNULNUL7 HBase Ave, CA 22222

Une entreprise ou un individu peuvent nécessiter un enregistrement complet de données pour chacun de ses clients ou de leurs constituants. Un bon exemple est votre médecin, qui a besoin de toutes vos informations de contact afin de vous fournir des soins appropriés. Autres entreprises ou des particuliers ne peuvent exiger que les informations de contact partielle ou peuvent avoir besoin d'apprendre cette information au fil du temps.

Par exemple, une entreprise de service à la clientèle peut traiter les appels téléphoniques ou de messages e-mail pour les demandes de service. Les clients peuvent ou non choisir de donner aux entreprises de services toutes leurs informations de contact. Cependant, avec chaque interaction au fil du temps, les entreprises peuvent en apprendre davantage sur leurs clients qui leur permettront d'offrir un meilleur service - par l'émission d'alertes de services proactifs, par exemple.

Dans ce contexte, clairsemé signifie que les champs dans les lignes peuvent être vides ou nuls, mais cela ne fait pas HBase à un arrêt brutal. HBase peut gérer le fait que vous ne le faites pas (encore) le savez nom et adresse e-mail milieu de Jane Doe, par exemple.

Voici un autre exemple: une base de données pour stocker des images satellites. Il se trouve que Google utilise la technologie BigTable pour stocker des images satellite de la terre. Dans presque tous les cas, chaque fois que des images sont stockées, les métadonnées sont également stockées avec elle.

Les métadonnées peuvent inclure l'adresse de la rue de l'image ou seulement la latitude et la longitude, si l'image est capturée depuis le désert. Les métadonnées est variable dans le contenu de sorte que certains domaines seront NULL - et qui est OK.

Dans ces deux exemples, les ensembles de données qui sont recueillies peuvent être extrêmement importantes - en particulier dans le deuxième exemple. Les bases de données en imagerie sont presque toujours mesurées en téraoctets ou parfois dans pétaoctets.

HBase est conçu pour stocker des données importantes, mais il est également conçu pour stocker les enregistrements de données clairsemées sans frais. Cette préoccupation est cruciale lorsque vous utilisez de grandes applications de données! Stocker quelques enregistrements NULL plus d'un million de lignes est un gaspillage, mais essayez d'imaginer les déchets sur un quadrillion rangées!

Heureusement, ce fut un facteur clé pour les concepteurs de Google et la communauté HBase. Sparse données est prise en charge sans perte d'espace de stockage coûteux.

Et il ne s'y arrête pas. Considérez la puissance d'un magasin de données schéma moins. Le tableau montre un classique table de contact avec la clientèle. Lorsque les entreprises à concevoir ces tableaux, ils savent à l'avance ce qu'ils veulent stocker. En d'autres termes le schéma est fixé- il est défini avant même que le premier octet de l'information est stockée dans la table.

Maintenant, si, au fil du temps, un nouveau champ est nécessaire pour un client? Que diriez-vous d'une poignée Twitter ou un nouveau numéro de téléphone mobile? Vous êtes apparemment coincé avec un schéma qui ne fonctionne plus pour vous.

Eh bien, HBase résout ce défi ainsi - non seulement vous pouvez sauter champs sans frais lorsque vous ne disposez pas des données, mais aussi ajouter dynamiquement des champs (ou colonnes dans la langue vernaculaire HBase) au fil du temps sans avoir à redessiner le schéma ou perturber les opérations.


Alors vous pouvez penser HBase comme un magasin-de données schéma moins qui est, il est fluide - vous pouvez ajouter, soustraire, ou modifier le schéma que vous avancez.

HBase est distribué et persistante

BigTable est un système de fichiers distribué et persistante. Persistent signifie simplement que les données que vous stockez dans BigTable (et HBase, d'ailleurs) va persister ou de rester après la fin de votre programme ou de la session. Voilà assez simple - persistante signifie qu'il persiste - mais vous devriez passer un peu plus de temps à penser à Comment les données sont persisté.

Dans son document BigTable, Google a décrit le système de fichiers distribué connu comme système de fichiers ou Google GFS. Il se trouve que, tout comme HBase est une implémentation de BigTable open source, HDFS est une implémentation de GFS open source.

Par défaut, HBase exploite HDFS persister ses données au stockage sur disque. Bien que d'autres magasins de données distribuées peuvent être utilisés avec HBase, la grande majorité des installations HBase levier HDFS. Cela a un sens parfait étant donné que HBase est le “ Hadoop base de données ” - Hey, il est intégré dans le nom, pour l'amour de Dieu.

HDFS est une technologie clé permettant non seulement pour Hadoop mais aussi pour HBase. En stockant les données dans HDFS, HBase offre la fiabilité, la disponibilité, une évolutivité transparente, haute performance et bien plus encore - le tout sur le coût des serveurs distribués efficaces!

HBase a une carte multidimensionnelle trié

A partir de la base, un carte (également connu en tant que tableau associatif) Est une collection abstraite de paires clé-valeur, où la clé est unique. Cette définition est crucial pour votre compréhension de HBase parce que le modèle de données HBase est souvent décrite de différentes façons - souvent incomplète comme un magasin en colonnes.

HBase est, au fond, un magasin de données clé-valeur où chaque clé est unique - ce qui signifie qu'il apparaît au plus une fois dans le magasin de données HBase. En outre, la carte est triée et multidimensionnelle. Les clés sont stockées dans HBase et triés dans l'ordre des octets-lexicographique. Chaque valeur peut avoir plusieurs versions, ce qui rend le modèle de données multidimensionnelle. Par défaut, les versions de données sont mises en œuvre avec un horodatage.