Vidéo: La révélation des Pyramides - Le film en français 2024
Les banques de données HBase sont constituées d'une ou plusieurs tables indexées par des clés. Les données sont stockées dans des lignes avec des colonnes et les lignes peuvent avoir plusieurs versions. Par défaut, la gestion des versions de données pour les lignes est implémentée avec des horodatages.
Clé de ligne | Famille de colonnes: {Qualificateur de colonne: Version: Valeur} |
---|---|
00001 | CustomerName: {'FN':
1383859182496: ' John ', ' LN ': 1383859182858:' Smith ', ' MN ': 1383859183001:' Timothée ', ' MN ': 1383859182915:' T '} ContactInfo: {' EA ': 1383859183030:' John. Smith @ xyz. com ', ' SA ': 1383859183073:' 1 Hadoop Lane, NY 11111 '} |
00002 | NomClientèle: {' FN ':
1383859183103:' Jane ', 'LN': 1383859183163: 'Doe', ContactInfo: { 'SA': 1383859185577: '7 HBase Ave, CA 22222'} |
Par souci d'illustration, la table possède deux simples clés de ligne: 00001 et 00002. Les clés de ligne sont implémentées comme des tables d'octets, et sont triées dans l'ordre octet-lexicographique, ce qui signifie simplement que la ligne les clés sont triées, octet par octet, de gauche à droite.
Si vous pensez en termes de valeurs numériques lors de la conception des clés de ligne, le tri est simple. Avec deux clés, si l'octet de l'index 1 de la clé 1 est inférieur à l'octet de l'index 1 de la clé 2, la clé de rang 1 sera toujours stockée avant la clé de rang 2, quelle que soit la suite des octets.
Cependant, il est courant d'utiliser des caractères (ASCII) imprimables plutôt que des valeurs numériques pour les clés de ligne dans HBase et si vous le faites, vous devez comprendre que le langage Java représente les caractères utilisant le standard Unicode. L'exemple suivant illustre cette considération de conception pour Basic Latin (ASCII).
"RowA" précède "RowA" Row-1 "précède" Row11 "Row1" précède "RowA"
Vous vous demandez peut-être pourquoi vous vous soucieriez de ce détail par rapport aux touches de ligne. est qu'une clé de ligne correcte est cruciale pour obtenir de bonnes performances dans HBase - ne pas le faire signifie que vous ne réaliserez pas la valeur totale de votre cluster HBase.Les clés de ligne triées peuvent vous aider à accéder plus rapidement à vos données.