HBase ArchiTecnología: casos de uso, componentes y modelo de datos
HBase Architectura y sus componentes importantes
La arquitectura de HBase consta principalmente de cuatro componentes
- Maestro
- Servidor de Región H
- HRegiones
- Zookeeper
- HDFS
A continuación se muestra una arquitectura detallada de HBase con componentes:

Maestro
Maestro En HBase, se implementa un servidor maestro en la arquitectura de HBase. Actúa como un agente de monitoreo para monitorear todas las instancias de Region Server presentes en el clúster y actúa como una interfaz para todos los cambios de metadatos. En un entorno de clúster distribuido, Master se ejecuta en NameNode. Master ejecuta varios subprocesos en segundo plano.
Los siguientes son roles importantes desempeñados por HMaster en HBase.
- Desempeña un papel vital en términos de rendimiento y mantenimiento de los nodos del clúster.
- HMaster proporciona rendimiento administrativo y distribuye servicios a servidores de diferentes regiones.
- HMaster asigna regiones a servidores de regiones.
- HMaster tiene características como controlar el equilibrio de carga y la conmutación por error para manejar la carga sobre los nodos presentes en el clúster.
- Cuando un cliente desea cambiar cualquier esquema o cambiar cualquier operación de metadatos, HMaster asume la responsabilidad de estas operaciones.
Algunos de los métodos expuestos por la interfaz HMaster son principalmente métodos orientados a metadatos.
- Tabla (crearTabla, eliminarTabla, habilitar, deshabilitar)
- ColumnFamily (agregar columna, modificar columna)
- Región (mover, asignar)
El cliente se comunica de forma bidireccional tanto con HMaster como con ZooKeeper. Para operaciones de lectura y escritura, se comunica directamente con los servidores HRegion. HMaster asigna regiones a los servidores de regiones y, a su vez, verifica el estado de salud de los servidores de regiones.
En toda la arquitectura, tenemos varios servidores de región. Hlog está presente en los servidores de región que almacenarán todos los archivos de registro.
Servidores de región HBase
Cuando el servidor de regiones de HBase recibe solicitudes de lectura y escritura del cliente, asigna la solicitud a una región específica, donde reside la familia de columnas actual. Sin embargo, el cliente puede comunicarse directamente con los servidores de HRegion; no es necesario que HMaster le otorgue permiso obligatorio para comunicarse con los servidores de HRegion. El cliente necesita la ayuda de HMaster cuando se requieren operaciones relacionadas con metadatos y cambios de esquema.
HRegionServer es la implementación del servidor de regiones. Es responsable de brindar servicio y administrar regiones o datos presentes en un clúster distribuido. Los servidores de regiones se ejecutan en nodos de datos presentes en el clúster Hadoop.
HMaster puede entrar en contacto con múltiples servidores HRegion y realiza las siguientes funciones.
- Alojamiento y gestión de regiones
- Dividir regiones automáticamente
- Manejo de solicitudes de lectura y escritura.
- Comunicarse con el cliente directamente.
Regiones HBase
Las HRegions son los elementos básicos de construcción del clúster HBase que consiste en la distribución de tablas y se componen de familias de columnas. Contiene múltiples almacenes, uno para cada familia de columnas. Consta principalmente de dos componentes, que son Memstore y Hfile.
guardián del zoológico
HBase Zookeeper es un servidor de monitoreo centralizado que mantiene la información de configuración y proporciona sincronización distribuida. La sincronización distribuida permite acceder a las aplicaciones distribuidas que se ejecutan en el clúster con la responsabilidad de brindar servicios de coordinación entre nodos. Si el cliente desea comunicarse con las regiones, el cliente del servidor debe comunicarse primero con ZooKeeper.
Es un proyecto de código abierto y proporciona muchos servicios importantes.
Servicios prestados por guardián del zoológico
- Mantiene la información de configuración.
- Proporciona sincronización distribuida
- Cliente Establecimiento de comunicación con servidores de región.
- Proporciona nodos efímeros para los cuales representan servidores de diferentes regiones.
- Uso de servidores maestros de nodos efímeros para descubrir servidores disponibles en el clúster
- Para rastrear fallas del servidor y particiones de red
Los nodos maestros y esclavos de HBase (servidores de región) se registraron en ZooKeeper. El cliente necesita acceso a la configuración del quórum ZK (zookeeper) para conectarse con los servidores maestro y regional.
Durante una falla de los nodos presentes en el clúster HBase, ZKquoram activará mensajes de error y comenzará a reparar los nodos fallidos.
HDFS
HDFS es un Hadoop distribuido Sistema de archivosComo su nombre lo indica, proporciona un entorno distribuido para el almacenamiento y es un sistema de archivos diseñado para funcionar en hardware comercial. Almacena cada archivo en múltiples bloques y, para mantener la tolerancia a fallas, los bloques se replican en un clúster Hadoop.
HDFS ofrece un alto grado de tolerancia a fallos y funciona con hardware económico. Al añadir nodos al clúster y realizar el procesamiento y el almacenamiento mediante hardware económico, el cliente obtendrá mejores resultados que con el hardware existente.
Aquí, los datos almacenados en cada bloque se replican en 3 nodos, en caso de que algún nodo caiga, no habrá pérdida de datos, tendrá un mecanismo de recuperación de respaldo adecuado.
HDFS se pone en contacto con los componentes de HBase y almacena una gran cantidad de datos de forma distribuida.
Modelo de datos HBase
Modelo de datos HBase es un conjunto de componentes que consta de tablas, filas, familias de columnas, celdas, columnas y versiones. Las tablas HBase contienen familias de columnas y filas con elementos definidos como claves primarias. Una columna en la tabla del modelo de datos de HBase representa los atributos de los objetos.
El modelo de datos de HBase consta de los siguientes elementos:
- conjunto de mesas
- Cada tabla con familias de columnas y filas.
- Cada tabla debe tener un elemento definido como Clave Primaria.
- La clave de fila actúa como clave principal en HBase.
- Cualquier acceso a las tablas de HBase utiliza esta clave principal
- Cada columna presente en HBase denota el atributo correspondiente al objeto.
Casos de uso de HBase
A continuación se muestran ejemplos de casos de uso de HBase con una explicación detallada de la solución que proporciona a varios problemas técnicos.
Planteamiento del problema | Solución |
---|---|
Industria de las telecomunicaciones se enfrenta a los siguientes retos técnicos
|
HBase se utiliza para almacenar miles de millones de filas de registros de llamadas detallados. Si se agregan 20 TB de datos por mes a la base de datos RDBMS existente, el rendimiento se deteriorará. Para manejar una gran cantidad de datos en este caso de uso, HBase es la mejor solución. HBase realiza consultas rápidas y muestra registros. |
Un espacio para hacer una pausa, reflexionar y reconectarse en privado. Industria bancaria Genera millones de registros diariamente. Además de esto, la industria bancaria también necesita una solución de análisis que pueda detectar fraudes en transacciones monetarias. | Para almacenar, procesar y actualizar grandes volúmenes de datos y realizar análisis, una solución ideal es HBase integrado con varios componentes del ecosistema Hadoop. |
Aparte de eso, se puede utilizar HBase
- Siempre que sea necesario escribir aplicaciones pesadas.
- Realizar análisis de registros en línea y generar informes de cumplimiento.
Mecanismo de almacenamiento en HBase
HBase es una base de datos orientada a columnas y los datos se almacenan en tablas. Las tablas están ordenadas por RowId. Como se muestra a continuación, HBase tiene RowId, que es la colección de varias familias de columnas que están presentes en la tabla.
Las familias de columnas que están presentes en el esquema son pares clave-valor. Si observamos en detalle cada familia de columnas tiene múltiples números de columnas. Los valores de las columnas se almacenan en la memoria del disco. Cada celda de la tabla tiene sus propios metadatos, como la marca de tiempo y otra información.
Al llegar a HBase, los siguientes son los términos clave que representan el esquema de tabla
- Tabla: Colección de filas presentes.
- Fila: Colección de familias de columnas.
- Familia de columnas: Colección de columnas.
- Columna: Colección de pares clave-valor.
- Espacio de nombres: Agrupación lógica de tablas.
- Celular: Una tupla {fila, columna, versión} especifica exactamente una definición de celda en HBase.
Almacenamiento orientado a columnas versus almacenamiento orientado a filas
Los almacenes orientados a columnas y a filas se diferencian en su mecanismo de almacenamiento. Como todos sabemos, los modelos relacionales tradicionales almacenan datos en términos de formato basado en filas, como en términos de filas de datos. Los almacenamientos orientados a columnas almacenan tablas de datos en términos de columnas y familias de columnas.
La siguiente tabla muestra algunas diferencias clave entre estos dos almacenamientos.
Base de datos orientada a columnas | Base de datos orientada a filas |
---|---|
Cuando se trata de procesos y análisis, utilizamos este enfoque. Como Procesamiento analítico en línea y sus aplicaciones. | Proceso transaccional en línea como los dominios bancario y financiero utilizan este enfoque. |
La cantidad de datos que se pueden almacenar en este modelo es muy grande, en términos de petabytes. | Está diseñado para una pequeña cantidad de filas y columnas. |
Explicación de lectura y escritura de datos de HBase
Las operaciones de lectura y escritura del cliente en Hfile se pueden mostrar en el siguiente diagrama.
Paso 1) El cliente quiere escribir datos y, a su vez, primero se comunica con el servidor de Regions y luego con las regiones.
Paso 2) Regiones que se comunican con memstore para el almacenamiento asociado con la familia de columnas
Paso 3) Primero, los datos se almacenan en Memstore, donde se ordenan y luego se descargan en HFile. La razón principal para usar Memstore es almacenar datos en un sistema de archivos distribuido basado en Row Key. Memstore se colocará en la memoria principal del servidor regional mientras los HFiles se escriben en HDFS.
Paso 4) El cliente quiere leer datos de Regions
Paso 5) A su vez, el Cliente puede tener acceso directo a la tienda Mem y puede solicitar datos.
Paso 6) Cliente se acerca a HFiles para obtener los datos. Los datos son buscados y recuperados por el Cliente.
Memstore mantiene modificaciones en memoria de la tienda. La jerarquía de objetos en las regiones de HBase se muestra de arriba a abajo en la siguiente tabla.
Tabla | Tabla HBase presente en el clúster HBase |
Región | H Regiones para las tablas presentadas |
Tienda | Almacena por ColumnFamily para cada región de la tabla. |
tienda de memoria |
|
almacenar archivo | StoreFiles para cada tienda para cada región de la tabla |
Bloquear | Bloques presentes dentro de StoreFiles |
HBase frente a HDFS
HBase se ejecuta sobre HDFS y HadoopAlgunas diferencias clave entre HDFS y HBase están en términos de operaciones y procesamiento de datos.
HBASE | HDFS |
---|---|
Operaciones de baja latencia | Operaciones de alta latencia |
Lecturas y escrituras aleatorias | Escribir una vez Leer muchas veces |
Accedido a través de comandos de shell, API de cliente en Java, REST, Avro o Ahorro | Se accede principalmente a través de trabajos MR (Map Reduce) |
Se pueden realizar tanto el almacenamiento como el proceso. | Es solo para áreas de almacenamiento. |
Algunas aplicaciones industriales de TI típicas utilizan operaciones de HBase junto con Hadoop. Las aplicaciones incluyen datos de la bolsa de valores, operaciones de datos bancarios en línea y procesamiento. Hbase es el método de solución más adecuado.
Resumen
- Componentes de la arquitectura HBase: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HMaster en HBase es la implementación de un servidor Master en la arquitectura HBase.
- Cuando HBase Region Server recibe solicitudes de escritura y lectura del cliente, asigna la solicitud a una región específica, donde reside la familia de columnas real.
- Las HRegions son los elementos básicos de construcción del clúster HBase que consiste en la distribución de tablas y están compuestas por familias de columnas.
- HBase Zookeeper es un servidor de monitoreo centralizado que mantiene la información de configuración y proporciona sincronización distribuida.
- HDFS proporciona un alto grado de tolerancia a fallos y se ejecuta en hardware básico económico.
- El modelo de datos HBase es un conjunto de componentes que consta de tablas, filas, familias de columnas, celdas, columnas y versiones.
- Los almacenes orientados a columnas y a filas se diferencian en su mecanismo de almacenamiento.