Hbase provee row
keys, concepto que podemos mapear con las primary keys de las bases
de datos relacionales. Nosotros podemos trabajar sin grandes
operaciones de lectura y escritura, dado que las filas estan
divididas en columns families y columnas. Esto soporta escalado
vertical y horizontal de las tablas.
Una tabla esta
compuesta por filas→ familias de columnas → columnas → celdas
Por lo tanto podemos
pensar en una fila como un conjunto no vacio de familias de columnas,
la familia de columnas como un conjunto no vacio de columnas y las
columnas son estan formadas (made up) por celdas. Y los datos son
accedidos por el row key.
Nosotros podemos o debemos consultar por row key más el column family y el nombre de la
columna.
A nivel conceptual,
las tablas de hbase vistas como un conjunto separado de filas pero a
nivel fisico, se guardan conjuntos de columnas que son las familias
de columnas.
A nivel conceptual, una tabla HBase se puede ver como un conjunto disperso de filas, pero en el almacenamiento real, se almacena según una familia de columnas. Al definir una tabla, las columnas se pueden agregar o especificar en la ejecución en una familia de columnas. Debemos decidir el número y el nombre de la familia de columnas en el momento de la reactivación de la tabla, pero las columnas se pueden agregar según sea necesario en cualquier momento mientras se almacenan los datos, y esta es la belleza de la ausencia de esquemas cuando usamos HBase.
Una columna siempre se representa y se accede utilizando el nombre de la familia de columnas como prefijo (columnfamilyname: columnname) para que sepamos a qué familia de columnas se accede. Las columnas que no contienen valores no se almacenan.
En las versiones anteriores de HBase, no teníamos un concepto de base de datos; sin embargo, existía el concepto de Tabla. La versión más reciente de HBase introduce un concepto llamado espacio de nombres (compatible con HBase 0.96 y versiones posteriores) que agrupa las tablas de forma lógica, lo que brinda una representación más estructurada y organizada, y un almacenamiento de tablas.