sql >> Base de Datos >  >> NoSQL >> HBase

Rendimiento de HBase CDH5 (HBase1) frente a CDH6 (HBase2)

Los clientes de HBase que actualicen a CDH 6 desde CDH 5 también obtendrán una actualización de HBase al pasar de HBase1 a HBase2. El rendimiento es un aspecto importante que los clientes consideran. Medimos el rendimiento de CDH 5 HBase1 frente a CDH 6 HBase2 utilizando cargas de trabajo YCSB para comprender las implicaciones de rendimiento de la actualización en los clientes que realizan actualizaciones en el lugar (sin cambios en el hardware).

Acerca de YCSB

Para nuestras pruebas usamos el Yahoo! Punto de referencia de servicio en la nube (YCSB). YCSB es un conjunto de programas y especificaciones de código abierto para evaluar las capacidades de recuperación y mantenimiento de los programas informáticos. A menudo se utiliza para comparar el rendimiento relativo de los sistemas de gestión de bases de datos NoSQL.

El benchmark original fue desarrollado por trabajadores de la división de investigación de Yahoo! que lo lanzó en 2010. 

Más información sobre YCSB en https://github.com/brianfrankcooper/YCSB

En nuestro entorno de prueba, se utilizó la escala de datos YCSB @1TB y las cargas de trabajo ejecutadas incluyeron cargas de trabajo predeterminadas de YCSB y cargas de trabajo personalizadas.

Cargas de trabajo de prueba de YCSB utilizadas: 

  • Carga de trabajo A (lectura+actualización) :Ejemplo de aplicación:Almacén de sesiones que registra acciones recientes en una sesión de usuario
    • 50 % LEER
    • 50 % DE ACTUALIZACIÓN
  • Carga de trabajo C (solo lectura) :Ejemplo de aplicación:Leer caché de perfil de usuario, donde los perfiles se construyen en otro lugar (p. ej., Hadoop)
    • 100% LEER
  • Carga de trabajo F (lectura+modificación+escritura) :Ejemplo de aplicación:base de datos de usuarios, donde los registros de usuario son leídos y modificados por el usuario o para registrar la actividad del usuario
    • 50 % LEER
    • 25 % DE ACTUALIZACIÓN
    • 25 % LECTURA-MODIFICACIÓN-ESCRITURA
  • Solo actualizar la carga de trabajo YCSB personalizada de Cloudera :Ejemplo de aplicación:actualizaciones masivas
    • 100 % de operaciones de ACTUALIZACIÓN

Más información sobre las cargas de trabajo de YCSB en https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Metodología de prueba

Estamos cargando el conjunto de datos YCSB con 1000 000 000 registros con cada registro de 1 KB de tamaño, creando un total de 1 TB de datos. Después de la carga, esperamos que terminen todas las operaciones de compactación antes de comenzar la prueba de carga de trabajo. Cada carga de trabajo probada se ejecutó 3 veces durante 15 minutos cada una y el rendimiento* Medido. El número promedio se toma de 3 pruebas para producir el número final.

* Rendimiento (ops/s) =Número de operaciones por segundo

Comparación de rendimiento de CDH5 HBase1 frente a CDH6 HBase2 mediante YCSB

Rendimiento exclusivo de actualizaciones personalizadas

Solo actualizar . Casos de uso:actualizaciones masivas
Rendimiento de CDH6 HBase2 un 50 % superior al de CDH5 HBase1

Rendimiento de la carga de trabajo A de YCSB

Actualización pesada. Casos de uso:almacenamiento de sesiones, registro de acciones recientes
Rendimiento de CDH6 HBase2 un 6 % inferior al de CDH5 con HBase1

Rendimiento de carga de trabajo C de YCSB

Solo lectura. Casos de uso:Caché de perfil de usuario, caché de suministro de noticias
Rendimiento CDH6 HBase2 5 % menor que CDH5 HBase1

Rendimiento de carga de trabajo F de YCSB

Lectura-Modificación-Escritura. Casos de uso:Almacén de actividades, bases de datos de usuarios
Rendimiento de CDH6 HBase2 muy similar al de CDH5 HBase1

Resumen de los resultados de la prueba

Solo actualización personalizada carga de trabajo :  Actualización de HBase2 CDH6 Solo la carga de trabajo se realizó 50 % mejor que HBase1 CDH5

Carga de trabajo F de YCSB Workload: Las operaciones de carga de trabajo CDH6 YCSB Workload F y el rendimiento fueron muy similares a CDH5 HBase1

Cargas de trabajo YCSB Workload A y YCSB Workload C: CDH6 YCSB Workload C Read Only y YCSB Workload A tenían aproximadamente 5 % menos operaciones y rendimiento que CDH5 HBase1

Versiones CDH comparadas

Versión CDH6:Cloudera Enterprise 6.2

Versión CDH5:Cloudera Enterprise 5.16.2

Nombre de la máquina virtual Java:Máquina virtual del servidor Java HotSpot(TM) de 64 bits

Versión de Java:1.8.0_141

Entorno de prueba

Clúster utilizado: Clúster de 6 nodos
Descripción del nodo: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2.2Ghz, 128GB Ram, 4-2TB discos

Configuración de prueba

  • Versión YCSB:0.14.0
  • Versión de enlace YCSB hbase20
  • Tabla YCSB a escala de 1 TB
  • Configuraciones WAL
    • Número de canalizaciones WAL por servidor de región (wal.regiongrouping.numgroups ) establecido en 1
    • Multi-WAL:wal.provider establecido en Múltiple HDFS WAL
      • Nota -> Aquí el WAL único utilizado como canalización de WAL se establece en 1
    • Asyncfs WAL:region.replica.replication.enabled establecido en falso
  • Seguridad: Ninguno configurado (sin Kerberos)
  • Servidores de región
    • Número de regiones en la tabla YCSB 250, con un clúster de 5+1 nodos, aproximadamente 50 regiones por servidor de región
    • Tamaño promedio del servidor de la región 290G
    • Datos por región ~ 6G
  • Solo se usa caché L1 con LruBlockCache con un límite de tamaño de caché de 3 GB

Según nuestras pruebas (resultados anteriores), los clientes que buscan actualizar de CDH 5.x a 6.x deben esperar un rendimiento significativamente mejorado para las actualizaciones masivas y un rendimiento bastante similar para otras cargas de trabajo en comparación con lo que obtienen hoy.

Obtenga más información sobre Cloudera Operational DB aquí