Arquitectura HBase: todo lo que necesita saber [2022]

Publicado: 2021-01-06

Tanto los datos estructurados como los no estructurados están creciendo exponencialmente, y Apache Hadoop ha demostrado su excelencia en el manejo de datos tan grandes. Apache Hadoop, por lo tanto, ganó mucha tracción en el mundo de los grandes datos. Sin embargo, existen ciertas limitaciones en la arquitectura HDFS de Hadoop.

HDFS genera operaciones de alta latencia y no puede manejar un gran volumen de solicitudes de lectura y escritura simultáneamente. Otra limitación es que HDFS es una arquitectura de escritura única, lectura muchas veces, lo que significa que tiene que volver a escribir un archivo por completo para modificar un conjunto de datos. Estas limitaciones de la arquitectura HDFS plantearon la necesidad de una arquitectura HBase .

Tabla de contenido

¿Qué es HBase?

HBase es una arquitectura de almacenamiento de datos orientada a columnas que se forma sobre HDFS para superar sus limitaciones. Aprovecha las funciones básicas de HDFS y se basa en ellas para proporcionar escalabilidad al manejar un gran volumen de solicitudes de lectura y escritura en tiempo real. Aunque la arquitectura HBase es una base de datos NoSQL, facilita el proceso de mantenimiento de datos al distribuirlos de manera uniforme en todo el clúster. Esto hace que acceder y modificar datos en el modelo de datos HBase sea rápido. Obtenga más información sobre HBase.

¿Cuáles son los componentes del modelo de datos HBase?

Dado que el modelo de datos HBase es una base de datos NoSQL, los desarrolladores pueden leer y escribir datos fácilmente cuando sea necesario, lo que lo hace más rápido que la arquitectura HDFS. Consta de los siguientes componentes:

1. Tablas HBase : la arquitectura HBase está orientada a columnas; por lo tanto, los datos se almacenan en tablas que están en formato basado en tablas.

2. RowKey : se asigna una RowKey a cada conjunto de datos que se registra. Esto facilita la búsqueda de datos específicos en las tablas de HBase.

3. Columnas : las columnas son los diferentes atributos de un conjunto de datos. Cada RowKey puede tener columnas ilimitadas.

4. Familia de columnas: las familias de columnas son una combinación de varias columnas. Una sola solicitud para leer una familia de columnas da acceso a todas las columnas de esa familia, lo que agiliza y facilita la lectura de datos.

5. Calificadores de columna: los calificadores de columna son como títulos de columna o nombres de atributo en una tabla normal.

6. Celda : Es una tupla fila-columna que se identifica usando RowKey y calificadores de columna.

7. Marca de tiempo : cada vez que se almacena un dato en el modelo de datos de HBase, se almacena con una marca de tiempo.

Leer: Componentes del ecosistema Hadoop

¿Cuáles son los componentes de la arquitectura HBase?

La arquitectura HBase consta de tres componentes principales, HMaster, Region Server y ZooKeeper.

1. Maestro

HMaster funciona de manera similar a su nombre. Es el maestro el que asigna las regiones al servidor de regiones (esclavo). La arquitectura HBase utiliza un proceso de fragmentación automática para mantener los datos. En este proceso, cada vez que una tabla HBase se vuelve demasiado larga, el sistema la distribuye con la ayuda de HMaster. Algunas de las responsabilidades típicas de HMaster incluyen:

  • Controlar la conmutación por error
  • Administre el servidor de región y el clúster de Hadoop
  • Manejar las operaciones DDL, como la creación y eliminación de tablas.
  • Administrar cambios en las operaciones de metadatos
  • Administrar y asignar regiones a los servidores de regiones
  • Acepta solicitudes y las envía al servidor de la región correspondiente

2. Servidor de región

Los servidores de región son los nodos finales que manejan todas las solicitudes de los usuarios. Varias regiones se combinan dentro de un único servidor de regiones. Estas regiones contienen todas las filas entre las claves especificadas. El manejo de las solicitudes de los usuarios es una tarea compleja de ejecutar y, por lo tanto, los servidores regionales se dividen en cuatro componentes diferentes para que la administración de las solicitudes sea perfecta.

  • Registro de escritura anticipada (WAL) : WAL se adjunta a cada servidor de región y almacena una especie de datos temporales que aún no se han confirmado en la unidad.
  • Block Cache : es un caché de solicitud de lectura; todos los datos leídos recientemente se almacenan en caché de bloque. Los datos que no se utilizan con frecuencia se eliminan automáticamente del stock cuando está lleno.
  • MemStore : Es un caché de escritura responsable de almacenar datos que aún no se han escrito en el disco.
  • HFile : El HFile almacena todos los datos reales después del compromiso.

3. Guardián del zoológico

ZooKeeper actúa como puente a través de la comunicación de la arquitectura HBase . Es responsable de realizar un seguimiento de todos los servidores de regiones y las regiones que se encuentran dentro de ellos. Supervisar qué Region Servers y HMaster están activos y cuáles han fallado también es parte de las funciones de ZooKeeper. Cuando encuentra que una región del servidor ha fallado, activa el HMaster para que tome las medidas necesarias. Por otro lado, si el propio HMaster falla, activa el HMaster inactivo que se activa después de la alerta. Todos los usuarios e incluso el HMaster deben pasar por ZooKeeper para acceder a los servidores regionales y los datos que contienen. ZooKeeper almacena un archivo .Meta , que contiene una lista de todos los servidores regionales. Las responsabilidades de ZooKeeper incluyen:

  • Establecimiento de comunicación en todo el clúster de Hadoop
  • Mantenimiento de la información de configuración
  • Rastreo de servidor de región y falla de HMaster
  • Mantenimiento de la información del servidor de región

¿Cómo se manejan las solicitudes en la arquitectura HBase?

Ahora que conocemos los componentes principales de la arquitectura HBase y su función, profundicemos en cómo se manejan las solicitudes en toda la arquitectura.

1. Comience la búsqueda en la arquitectura HBase

Los pasos para inicializar la búsqueda son:

  1. El usuario recupera la tabla Meta de ZooKeeper y luego solicita la ubicación del servidor de región relevante.
  2. Luego, el usuario solicitará los datos exactos del servidor de región con la ayuda de RowKey.

2. Mecanismo de escritura en arquitectura HBase

Los pasos para escribir en la arquitectura HBase son:

  1. El cliente primero tendrá que encontrar el servidor de región y luego la ubicación de los datos para modificarlos. (Este paso está involucrado solo para convertir datos y no para escribir información nueva)
  2. La solicitud de escritura real comienza en el WAL, donde el cliente escribe los datos.
  3. WAL transfiere los datos a MemStore y envía un reconocimiento al usuario.
  4. Cuando MemStore se llena con datos, envía los datos a HFile, donde se almacenan.

3. Mecanismo de lectura en arquitectura HBase

Para leer cualquier dato, el usuario primero tendrá que acceder al servidor de región correspondiente. Una vez que se conoce el servidor de la región, el otro proceso incluye:

  1. El primer escaneo se realiza en la memoria caché de lectura, que es la memoria caché de bloques.
  2. La siguiente ubicación de escaneo es MemStore, que es el caché de escritura.
  3. Si los datos no se encuentran en el caché de bloques o MemStore, el escáner recuperará los datos de HFile.

¿Cómo funciona la recuperación de datos en la arquitectura HBase?

La arquitectura Hbase divide los datos mediante la compactación y la división de regiones para reducir la carga de datos en el clúster. Sin embargo, si hay un bloqueo y se necesita una recuperación, así es como se hace:

  1. ZooKeeper activa HMaster cuando ocurre una falla en el servidor.
  2. HMaster distribuye regiones colapsadas y WAL a servidores de regiones activos.
  3. Estos servidores de región vuelven a ejecutar WAL y crean MemStore.
  4. Cuando todos los servidores de región vuelven a ejecutar WAL, se recuperan todos los datos junto con las familias de columnas.

Pago: Ecosistema y componentes de Hadoop

Línea de fondo

Los datos se han convertido en el nuevo petróleo en varias industrias. Por lo tanto, hay múltiples oportunidades de carrera en Hadoop. Puede aprender todo sobre Hadoop y Big Data en upGrad .

Si está interesado en saber más sobre Hbase, Big Data, consulte nuestro programa PG Diploma in Software Development Specialization in Big Data, que está diseñado para profesionales que trabajan y proporciona más de 7 estudios de casos y proyectos, cubre 14 lenguajes y herramientas de programación, manos prácticas -en talleres, más de 400 horas de aprendizaje riguroso y asistencia para la colocación laboral con las mejores empresas.

Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.

Domina la Tecnología del Futuro - Big Data

400+ HORAS DE APRENDIZAJE. 14 IDIOMAS Y HERRAMIENTAS. ESTATUS DE ALUMNOS DEL IIIT-B.
Programa de Certificado Avanzado en Big Data de IIIT Bangalore