Apache HBase

Un sistema de administración de bases de datos orientado a columnas que se ejecuta sobre el sistema de archivos distribuido Hadoop, un componente principal de Apache Hadoop.

Abstract technological background made of different element printed circuit board. Depth of field effect and bokeh.

¿Qué es HBase?

HBase es un sistema de gestión de bases de datos no relacionales orientado a columnas que se ejecuta sobre Hadoop Distributed File System (HDFS). HBase proporciona una forma tolerante a fallas de almacenar conjuntos de datos escasos, que son comunes en muchos casos de uso de big data. Es muy adecuado para el procesamiento de datos en tiempo real o el acceso aleatorio de lectura / escritura a grandes volúmenes de datos.

Diferente asistemas de bases de datos relacionales , HBase no admite un lenguaje de consulta estructurado como SQL; de hecho, HBase no es un almacén de datos relacional en absoluto. Las aplicaciones HBase están escritas en Java™, como una típica aplicación deApache MapReduce. HBase admite aplicaciones de escritura en Apache Avro, REST and Thrift.

Un sistema HBase está diseñado para escalar linealmente. Comprende un conjunto de tablas estándar con filas y columnas, muy parecido a una base de datos tradicional. Cada tabla debe tener un elemento definido como clave principal y todos los intentos de acceso a las tablas de HBase deben utilizar esta clave principal.

Avro, como componente, admite un amplio conjunto de tipos de datos primitivos que incluyen: cadenas y datos numéricos, binarios; y varios tipos complejos que incluyen matrices, mapas, enumeraciones y registros. También se puede definir una orden de clasificación para los datos.

HBase se basa enZooKeeper para una coordinación de alto rendimiento. ZooKeeper está integrado en HBase, pero si está ejecutando un clúster de producción, se sugiere que tenga un clúster ZooKeeper dedicado que esté integrado con su clúster HBase.

HBase funciona bien conHive , un motor de consulta para el procesamiento por lotes de big data, para habilitar aplicaciones de big data tolerantes a fallas.


Un ejemplo de HBase

Una columna HBase representa un atributo de un objeto; Si la tabla almacena registros de diagnóstico de servidores en su entorno, cada fila puede ser un registro de log y una columna típica.  podría ser la marca de tiempo de cuándo se escribió el registro de log o el nombre del servidor donde se originó el registro.

HBase permite que muchos atributos se agrupen en familias de columnas, de modo que los elementos de una familia de columnas se almacenen todos juntos. Esto es diferente de una base de datos relacional orientada a filas, donde todas las columnas de una fila determinada se almacenan juntas. Con HBase debe predefinir el esquema de la tabla y especificar las familias de columnas. Sin embargo, se pueden agregar nuevas columnas a las familias en cualquier momento, lo que hace que el esquema sea flexible y pueda adaptarse a los requisitos cambiantes de la aplicación.

Así como HDFS tiene un NameNode y nodos esclavos, y MapReduce tiene esclavos JobTracker y TaskTracker, HBase se basa en conceptos similares. En HBase, un nodo maestro administra el clúster y los servidores de la región almacenan partes de las tablas y realizan el trabajo en los datos. De la misma manera, HDFS tiene algunas preocupaciones empresariales debido a que la disponibilidad de NameNode HBase también es sensible a la pérdida de su nodo maestro.


Póngase en contacto con un experto

Agende una llamada individual sin costo con un experto en big data de IBM para aprender cómo podemos ayudarlo a extender la ciencia de datos y el machine learning en todo el ecosistema de Apache Hadoop.


Soluciones relacionadas

Impulse análisis mejores y más rápidos con soluciones de big data de IBM y Cloudera

IBM y Cloudera se han asociado para ofrecer una distribución de Hadoop de nivel empresarial líder en la industria, que incluye un ecosistema integrado de productos y servicios para respaldar análisis más rápidos a escala.


Conéctese

Explore Hadoop Blogs Clase cognitiva