Regiones en hbase

RegionServers son una cosa, pero también hay que echar un vistazo a cómo funcionan las regiones individuales. En HBase, una mesa es al mismo tiempo la propagación a través de una serie de RegionServers además de estar constituida por regiones individuales. Como se dividen las tablas, las divisiones se convierten en regiones. Regiones almacenan una gama de pares de valores clave, y cada RegionServer gestiona un número configurable de regiones.

Pero, ¿qué las regiones individuales parecen? HBase es un almacén de datos orientado a la columna por una familia, así que ¿cómo almacenar las regiones pares de valores clave en base a las familias de las columnas a las que pertenecen? En la siguiente figura comienza a responder a estas preguntas y ayuda a digerir la información más vital sobre la arquitectura de HBase.

HBase está escrito en Java - al igual que la gran mayoría de las tecnologías de Hadoop. Java es un lenguaje de programación orientado a objetos y una tecnología elegante para la computación distribuida. Así, a medida que continúe para averiguar más sobre HBase, recuerda que todos los componentes de la arquitectura son en última instancia los objetos de Java.

En primer lugar, la figura anterior da una idea bastante clara de lo que realmente se ven región de objetos como, hablando en términos generales. También deja claro que las regiones de datos separadas en las familias de las columnas y almacenar los datos en el HDFS utilizando objetos HFILE.

Video: Diseño de una tabla en HBase

Cuando los clientes se ponen pares de valores clave en el sistema, las teclas se procesan de manera que los datos se almacenan en base a la familia de la columna de la pareja pertenece. Como se muestra en la figura, cada objeto de almacén de la familia columna tiene una caché de lectura llamado el BlockCache y una caché de escritura llamado el MEMSTORE. El BlockCache ayuda con el rendimiento de lectura aleatoria.

Los datos se leen en calles de la HDFS y se almacena en el BlockCache. Las lecturas siguientes para los datos - o los datos almacenados en las proximidades - se leerá de la memoria RAM en lugar del disco, lo que mejora el rendimiento general. The Write Ahead Log (WAL, para abreviar) se asegura de que sus escrituras HBase son fiables. Hay una WAL por RegionServer.

Siempre prestar atención a la ley de hierro de la computación distribuida: Un fracaso no es la excepción - es la norma, sobre todo cuando la agrupación de cientos o incluso miles de servidores. Google siguió a la ley de hierro en el diseño de BigTable y HBase hizo lo mismo.

Video: Hadoop 2.5.1 on Ubuntu 14.04

Cuando se escribe o modificar datos en HBase, los datos se mantuvo primero en la WAL, que se almacena en el HDFS, y luego los datos se escriben en la memoria caché MEMSTORE. A intervalos configurables, pares de valores clave almacenados en la MEMSTORE se escriben en HFiles en el HDFS y después se borran entradas WAL.

Si se produce un fallo después WAL la escritura inicial, pero antes de MEMSTORE la escritura final en disco, el WAL se puede reproducir para evitar cualquier pérdida de datos.

Tres objetos HFILE están en una familia de columnas y dos en la otra. El diseño de HBase es para eliminar datos de la familia de columnas almacenadas en la MEMSTORE a uno HFILE por descarga. A continuación, en intervalos configurables HFiles se combinan en HFiles más grandes. Esta estrategia pone en cola hasta la operación de compactación crítico en HBase.

Artículos Relacionados