Compactaciones en hbase

compactación, el proceso por el cual HBase limpia después de sí mismo, viene en dos sabores: mayores y menores. Compactaciones principales pueden ser un gran problema, pero primero es necesario entender las compactaciones de menor importancia.

compactaciones menores combinan un número configurable de HFiles más pequeños en una HFILE más grande. Puede ajustar el número de HFiles para compactar y la frecuencia de una compactación menor. compactaciones menores son importantes porque sin ellos, la lectura de una fila particular puede requerir muchas lecturas de disco y hacer que el rendimiento general lento.

La cifra, que ilustra cómo funciona este concepto, puede ayudar a visualizar cómo la siguiente tabla se puede persistió en el HDFS.

Ver lógica de la información de contacto del cliente en HBase
fila claveColumna Familia: {Columna Calificador: Versión: Valor}
00001Nombre del cliente: {&lsquo-FN&rsquo-:
1383859182496:&lsquo-John&rsquo-,
&lsquo-LN&rsquo-: 1383859182858:&lsquo-Smith&rsquo-,
&lsquo-MN&rsquo-: 1383859183001:&rsquo-Timoteo&rsquo-,
&lsquo-MN&rsquo-: 1383859182915:&rsquo-T&rsquo-}
Datos de contacto: {&lsquo-EA&rsquo-:
1383859183030:[email protected]&rsquo-,
&rsquo-SA&rsquo-: 1383859183073:&rsquo-1 Hadoop Lane, NY
11111&rsquo-}
00002Nombre del cliente: {&lsquo-FN&rsquo-:
1383859183103:&lsquo-Jane&rsquo-,
&lsquo-LN&rsquo-: 1383859183163:&lsquo-Doe&rsquo-,
Datos de contacto: {
&rsquo-SA&rsquo-: 1383859185577:&rsquo-7 HBase Ave, CA
22222&rsquo-}

Observe cómo la familia de columnas CustomerName fue escrito para el HDFS con dos descargas MEMSTORE y cómo los datos de la familia de columnas ContactInfo se persistieron en el disco con una sola ras MEMSTORE. Este ejemplo es hipotético, pero es un escenario probable en función de la sincronización de las escrituras.

Imagínese una empresa de servicios que está ganando más y más información de contacto del cliente con el tiempo. La compañía de servicios puede saber el nombre y apellido de sus clientes, pero no aprender sobre su segundo nombre hasta horas o semanas más tarde en las solicitudes de servicio posteriores. Este escenario se traduciría en partes de fila 00001 de persistencia a la HDFS en diferentes HFiles.

Hasta que el sistema HBase realiza una compactación menor, la lectura de la fila 00001 requeriría tres lecturas de disco para recuperar el contenido relevante HFILE! compactaciones menores buscan minimizar la sobrecarga del sistema mientras se mantiene el número de HFiles bajo control. diseñadores HBase se encargó especial para dar el administrador HBase tanto control de sintonía posible hacer ningún impacto en el sistema “menor”.

Como su nombre lo indica, una compactación importante es diferente desde la perspectiva de un impacto en el sistema. Sin embargo, la compactación es muy importante para la funcionalidad global del sistema de HBase. Una compactación importante busca combinar todas HFiles en un gran HFILE.

Además, una compactación mayor que hace el trabajo de limpieza después de un usuario elimina un registro. Cuando un usuario realiza una llamada de eliminación, el sistema HBase coloca un marcador en el par clave-valor, de modo que se puede retirar de forma permanente durante el próximo compactación importante.

Además, debido a mayores compactaciones combinan todos HFiles en un gran HFILE, es el momento adecuado para que el sistema revise las versiones de los datos y compararlos contra el tiempo de vida (TTL) de propiedad. Valores mayores de la TTL se purgan.

Tiempo para vivir se refiere a la variable en HBase se puede establecer con el fin de definir cómo los datos de largo con múltiples versiones permanecerá en HBase.

Es posible que haya adivinado que una compactación importante afecta significativamente el tiempo de respuesta del sistema. Los usuarios que están tratando de añadir, recuperar o manipular datos en el sistema durante una compactación importante, pueden ver a la pobre tiempo de respuesta del sistema.

Además, el clúster HBase puede tener que dividir regiones al mismo tiempo que una compactación importante está teniendo lugar y equilibrar las regiones a través de todos RegionServers. Este escenario daría lugar a una cantidad significativa de tráfico de red entre RegionServers.

Por estas razones, el administrador de HBase tiene que tener una importante estrategia de compactación para su despliegue.

Artículos Relacionados