Pares de valores clave en el modelo de datos HBase

El modelo de datos HBase lógica es simple pero elegante, y proporciona un mecanismo de almacenamiento de datos natural para todo tipo de datos - conjuntos de datos grandes, especialmente estructurados. Todas las partes del modelo de datos convergen en un par clave-valor.

En primer lugar, en un mundo donde se puede pensar en la clave de fila como la clave principal para los datos almacenados en HBase, ¿cómo termina aprovechando el resto de los componentes del modelo de datos? Bueno, todo depende de la cantidad de datos que desea obtener en las consultas y cuánto tiempo está dispuesto a esperar.

Especificación sólo la clave fila potencialmente puede devolver un montón de datos, porque una fila individual puede tener millones de columnas. Además, con sólo la clave de fila para poder trabajar, HBase puede volver cada calificador columna, la versión y valor relacionado con la tecla fila.

¿Qué pasa si desea que sólo una columna en particular o la versión de sus datos? Desde el ejemplo mostrado, se puede ver lo que pasa si quieres sólo el último nombre de un cliente en particular? La solución es construir una clave más compleja para especificar exactamente lo que necesita. Un par clave-valor puede tener este aspecto: RowKey: (Columna Familia: Columna Calificador: Version) => Valor

Vista lógica de Información del cliente Contacto en HBase
Fila claveColumna Familia: {Columna Calificador: Versión: Valor}
00001CustomerName: {'FN': 1383859182496: 'John',
'LN': 1383859182858: 'Smith',
'MN': 1383859183001: 'Timoteo',
'MN': 1383859182915: 'T'}
ContactInfo: {'EA': 1383859183030:'[email protected] ',
'SA': 1383859183073: «1 Hadoop Lane, NY11111 '}
00002CustomerName: {'FN': 1383859183103: 'Jane',
'LN': 1383859183163: 'Doe',
Datos de contacto: {
'SA': 1383859185577: «7 HBase Ave, CA22222 '}

Después de especificar la clave, el resto es opcional. Cuanto más específico usted hace la consulta, sin embargo (que se mueve de izquierda a derecha), el más detallado de los resultados. Su desempeño va a empeorar, ya que el sistema tiene que pasar más tiempo localizar el valor exacto o valora usted necesita, pero menos datos se devuelven al finalizar la consulta.

Así teclas son más complejos de lo que imaginas de estudiar la tabla. Por ejemplo, si desea que el segundo nombre más reciente (o el único nombre medio hasta ahora) del cliente en la fila '00001', el par clave-valor resultante sería el siguiente: '00001: CustomerName: MN' => ' Timoteo '

Recuerde que las versiones se implementan utilizando las marcas de tiempo de forma predeterminada y se ordenan en orden decreciente de manera que se obtiene automáticamente el valor más reciente, si no se especifica una versión. Si quieres una inicial del segundo antes de su cliente (consulte la Tabla 12-2), su par clave-valor resultante sería el siguiente: '00001: CustomerName: MN: 1383859182915' => 'T'

Esperamos que las diversas descripciones de HBase están empezando a tomar forma en su mente. Específicamente, HBase es tanto una familia orientada almacén de datos de la columna y un almacén de datos clave-valor de par. Haciendo referencia a la HBase simplemente como una " orientado columna " almacén de datos deja mucho a la imaginación.

En caso de que usted era curioso, no hay tipos de datos de HBase - valores en HBase son sólo uno o más bytes. Una vez más, simple pero potente, ya que puede almacenar cualquier cosa!




» » » » Pares de valores clave en el modelo de datos HBase