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

Mejoras en el rendimiento de la base de datos operativa en CDP Private Cloud Base 7 frente a CDH5

Cloudera Data Platform (CDP) Private Cloud es la plataforma local más completa para el análisis integrado y la gestión de datos. Combina lo mejor de Cloudera Enterprise Data Hub y Hortonworks Data Platform Enterprise Plus, y trae las últimas y mejores tecnologías de código abierto para la gestión y el análisis de datos al centro de datos.

Con la última versión (7) de CDP Private Cloud Base, hemos introducido una serie de nuevas funciones y mejoras. En esta publicación de blog, nos gustaría compartir las mejoras de rendimiento disponibles en Apache HBase.

Para quienes son nuevos en HBase o lo están evaluando para un nuevo proyecto, HBase es una base de datos distribuida no relacional en la que confían arquitectos y desarrolladores que desean procesar grandes volúmenes de datos de manera oportuna y confiable.

Para esta comparación de rendimiento, medimos HBase2 disponible en CDP Private Cloud Base 7 a Hbase1 disponible en CDH 5 usando cargas de trabajo YCSB. La comparación nos ayuda a comprender las mejoras de rendimiento y las implicaciones para los clientes que realizan actualizaciones en el lugar sin cambios en el hardware subyacente.

Nota:Los clientes que actualicen de CDH 5 a CDP 7 también obtendrán una actualización de HBase de HBase1 a HBase2.

  • Carga de trabajo personalizada de solo actualización de YCSB
    • Nuestra carga de trabajo personalizada YCSB Update Only funciona 
      • 100 % de operaciones de ACTUALIZACIÓN
    • Un ejemplo de aplicación sería un almacén de métricas
    • Rendimiento de la carga de trabajo: CDP 7 YCSB Actualizar solo el rendimiento de ejecución de la carga de trabajo (operaciones por segundo) fue un 20 % mejor que cuando se ejecuta con CDH5

  • Carga de trabajo A de YCSB 
    • La carga de trabajo A de YCSB se realiza 
      • 50 % de operaciones de LECTURA
      • 50 % de operaciones de ACTUALIZACIÓN
    • Un ejemplo de aplicación sería un almacén de sesiones que registra acciones recientes en una sesión de usuario 
    • Rendimiento de la carga de trabajo:CDP El rendimiento de la carga de trabajo A de la nube privada Base 7.1 HBase2 YCSB (operaciones por segundo) fue un 15 % mejor que el de CDH5 HBase1

  • Carga de trabajo C de YCSB (solo lectura) 
    • YCSB Workload C es una carga de trabajo de solo lectura y realiza 
      • 100 % de operaciones de LECTURA
    • Un ejemplo de aplicación sería leer la memoria caché del perfil de usuario cuando los perfiles se construyen en otro lugar (por ejemplo, Hadoop) o un sistema bancario para acceder y ver los estados de cuenta 
    • Rendimiento de la carga de trabajo:La carga de trabajo C de CDP 7 YCSB tuvo un rendimiento similar (operaciones por segundo) a CDH 5

Veredicto:CDP 7 ofrece un mejor rendimiento que CDH 5 en YCSB  

Carga de trabajo personalizada de UpdateOnly :CDP 7 YCSB Actualizar solo la carga de trabajo se realizó 20 % mejor que C5.

Carga de trabajo A de YCSB :La carga de trabajo A de CDP 7 YCSB funcionó 15 % mejor que CDH5.

Carga de trabajo C de YCSB :CDP 7 YCSB carga de trabajo de solo lectura C tenía operaciones/rendimiento similares a CDH 5 

Durante nuestras pruebas, notamos que la actualización de JDK8 a JDK 11 dentro de CDP 7 puede mejorar el rendimiento en otro 10 %. Esto está por encima de las mejoras de rendimiento obtenidas al actualizar de CDH5 a CDP7.

CDP 7 viene con JDK8 instalado de manera predeterminada y admite una actualización a JDK11. En nuestras ejecuciones de prueba, CDP 7 se actualizó para usar JDK 11 para las ejecuciones de carga de trabajo de YCSB que se muestran arriba. También ejecutamos las mismas cargas de trabajo con JDK8, y los resultados de las pruebas mostraron que el rendimiento de JDK11 es un 5-10 % mejor en comparación con JDK8 , como se muestra en el siguiente gráfico

Para actualizar CDP 7 de JDK 8 a OpenJDK 11, siga los pasos a continuación:

Paso 1:Instale OpenJDK11 en todos los hosts usando lo siguiente

RHEL 

sudo yum install java-11-openjdk

Ubuntu

sudo apt install openjdk-11-jdk

Paso 2:solo en el host de Cloudera Manager Server (no es necesario para otros hosts):

  1. Abra el archivo /etc/default/cloudera-scm-server en un editor de texto.
  2. Edite la línea que comienza con export JAVA_HOME (si esta línea no existe, agréguela) y cambie la ruta a la ruta del nuevo JDK (el JDK generalmente se instala en / usr/lib/jvm)(o /usr/lib64/jvm en SLES 12), pero la ruta puede diferir dependiendo de cómo se instaló el JDK).

Para obtener más información sobre la actualización de JDK, siga Actualización del JDK

Entorno de prueba

Metodología de prueba

CDH 5.16.3/HBase1 se instaló en el clúster y se generaron datos de carga de trabajo con mil millones de filas (tamaño de conjunto de datos de 1 TB) y se ejecutaron cargas de trabajo CDH 5.16.3 YCSB. Después de la carga, esperamos a que terminaran todas las operaciones de compactación antes de comenzar la prueba de carga de trabajo.

Una vez que se completaron las ejecuciones de CDH 5.16.3, CDP Private Cloud Base 7.1 HBase2 se instaló limpiamente y los datos se volvieron a generar en el mismo clúster. A continuación, se ejecutaron las cargas de trabajo CDP Private Cloud Base 7.1 YCSB para obtener los tiempos de prueba. Antes de ejecutar cada carga de trabajo, inicializamos la tabla HBase utilizada por YCSB. Instantánea de la tabla de usuario utable_snap se crearon y aplicaron antes de cada ejecución.

Cada carga de trabajo probada se ejecutó 3 veces durante 15 minutos cada una para medir el rendimiento*. Los resultados mostrados son los promedios tomados de las 3 pruebas.

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

CDP Private Cloud Base 7.1 incluye HBase2 y CDH 5.16.3 incluye HBase1. Tanto CDP Private Cloud Base 7.1 como CDH5 tienen instalado JDK 8. CDP Private Cloud Base 7.1 es compatible con JDK11 y CDP Private Cloud Base 7.1 se actualizó para usar JDK 11 para las pruebas de YCSB, las ejecuciones de CDH 5.13.3 se ejecutaron con JDK 8 (1.8.0_141)

Configuraciones de prueba

  • YCSB versión 0.17.0
  • Versión de enlace YCSB hbase2 (CDP-CD 7.1) y hbase1 (CDH 5) 
  • Los clientes de YCSB usaron 2
  • Hilos YCSB por cliente 20
  • Tamaño de datos
    • Tabla YCSB a escala de 1 TB
    • Número total de registros en la tabla YCSB 1 000 000 000 (1 TB), cada registro es 1 KB
    • 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
    • Espacio de almacenamiento promedio de la región utilizado por tamaño de servidor 290G
  • Los servidores de la región HBase se configuraron con un almacenamiento dinámico de 32 GB 
  • Solo se usó caché L1 con LruBlockCache con un tamaño de caché de 12,3 GB
  • El porcentaje de aciertos de caché L1 observado durante ejecuciones en servidores regionales fue del 85 %
  • L2 off heap cache no se configuró en el clúster

Configuraciones de clúster

  • Cluster utilizado: Clúster de 6 nodos (1 maestro + 5 servidores de región)
  • Descripción: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2.2Ghz, 128GB Ram, 4-2TB discos
  • Seguridad: Ninguno configurado (sin Kerberos)

Versiones de Cloudera comparadas

Versión C7 :Base de nube privada CDP 7.1.0

Versión C5: CDH5.16.3

JDK utilizados:JDK 8 ( 1.8.0_141) y JDK 11 (11.0.6)

Según nuestras pruebas (resultados anteriores), los clientes que buscan actualizar de CDH 5 a CDP 7 deben esperar un rendimiento mejorado para cargas de trabajo similares en comparación con lo que obtienen hoy.

Más información sobre la base de datos operativa de Cloudera aquí