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), un componente principal de Apache Hadoop.
HBase proporciona una forma tolerante a fallos de almacenamiento de conjuntos de datos dispersos, que son comunes en muchos casos de uso de big data. Es ideal para el procesamiento de datos en tiempo real o para el acceso aleatorio de lectura/escritura a grandes volúmenes de datos.
A diferencia de los sistemas 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. Las aplicaciones HBase están escritas en Java de forma muy parecida a una aplicación típica de Apache MapReduce. HBase admite la escritura de aplicaciones en Apache Avro, REST y Thrift.
Un sistema HBase está diseñado para escalar linealmente. Se compone de 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 HBase deben utilizar esta clave principal.
Avro, como componente, admite un amplio conjunto de tipos de datos primitivos que incluyen: datos numéricos, binarios y cadenas; y una serie de tipos complejos que incluyen matrices, mapas, enumeraciones y registros. También se puede definir un orden de clasificación para los datos.
HBase confía en ZooKeeper 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 con Hive, un motor de consulta para el procesamiento por lotes de big data, para permitir aplicaciones de big data tolerantes a fallos.
Una columna de HBase representa un atributo de un objeto; si la tabla almacena registros de diagnóstico de servidores en su entorno, cada fila podría ser un registro y una columna típica podría ser la marca de tiempo de cuándo se escribió el registro o el nombre del servidor donde se originó el registro.
HBase permite agrupar muchos atributos en familias de columnas, de modo que los elementos de una familia de columnas se almacenan todos juntos. Esto difiere 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 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.
Al igual que 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 la región, los servidores almacenan partes de las tablas y realizan el trabajo con los datos. De la misma manera, HDFS tiene algunas preocupaciones empresariales debido a la disponibilidad de NameNode, HBase también es sensible a la pérdida de su nodo maestro.
Diseñe una estrategia de datos que elimine los silos, reduzca la complejidad y mejore la calidad de los datos para ofrecer experiencias excepcionales a clientes y empleados.
Watsonx.data le permite escalar el análisis y la IA con todos sus datos, residan donde residan, a través de un almacén de datos abierto, híbrido y controlado.
Desbloquee el valor de los datos empresariales con IBM Consulting y construya una organización impulsada por conocimientos que ofrezca ventajas empresariales.