Ventajas, desventajas y cuellos de botella de rendimiento de HBase
La arquitectura HBase siempre tiene “Punto único de fallo”Característica, y no hay ningún mecanismo de manejo de excepciones asociado a ella.
Aquí aprenderemos cuáles son los pros y los contras de HBase y los cuellos de botella en el rendimiento:
Cuellos de botella de rendimiento en HBase
- En cualquier entorno de producción, HBase se ejecuta con un clúster de más de 5000 nodos, solo Hmaster actúa como maestro para todos los servidores de región esclavos. Si Hmaster deja de funcionar, solo se puede recuperar después de un largo tiempo. Aunque el cliente puede conectarse al servidor de región. Es posible tener otro maestro, pero solo uno estará activo. Tomará mucho tiempo activar el segundo Hmaster si el Hmaster principal deja de funcionar. Por lo tanto, Hmaster es un cuello de botella en el rendimiento.
- En HBase, no podemos implementar ninguna operación de datos cruzados ni operaciones de unión, por supuesto, podemos implementar las operaciones de unión usando MapReduce, lo que llevaría mucho tiempo de diseño y desarrollo. Las operaciones de unión de tablas son difíciles de realizar en HBase. En algunos casos de uso, es imposible crear operaciones de unión relacionadas con tablas que están presentes en HBase
- HBase requeriría un nuevo diseño cuando queramos migrar datos desde fuentes externas RDBMS a servidores HBase. Sin embargo, este proceso lleva mucho tiempo.
- HBase es realmente difícil de realizar consultas. Es posible que tengamos que integrar HBase con algunos SQL capas como APACHE Phoenix donde podemos escribir consultas para activar los datos en HBase. Es realmente bueno tener Apache Phoenix encima de HBase.
- Otro inconveniente de HBase es que no podemos tener más de una indexación en la tabla, solo la columna de clave de fila actúa como clave principal. Por lo tanto, el rendimiento sería lento cuando quisiéramos buscar en más de un campo o en otra clave que no sea Fila. Este problema lo podemos superar escribiendo código MapReduce, integrándolo con apache SOLR y con Apache Phoenix.
- Lentas mejoras en la seguridad para que los diferentes usuarios accedan a los datos de HBase.
- HBase no admite claves parciales por completo
- HBase solo permite una clasificación predeterminada por tabla
- Es muy difícil almacenar archivos binarios de gran tamaño en HBase
- El almacenamiento de HBase limitará las consultas y la clasificación en tiempo real
- Búsqueda de clave y búsqueda de rango en términos de búsqueda de contenidos de tablas utilizando valores clave, limitará las consultas que se realizan en tiempo real.
- La indexación predeterminada no está presente en HBase. Los programadores deben definir varias líneas de código o script para realizar la funcionalidad de indexación en HBase.
- Caro en términos de requisitos de hardware y asignación de bloques de memoria.
- Se deben instalar más servidores para entornos de clúster distribuidos (como cada servidor para NameNode, DataNodes, guardián del zoológicoy servidores regionales)
- En términos de rendimiento, requiere máquinas con mucha memoria.
- En cuanto a costos y mantenimiento, también es más alto.
Ventajas de HBase
Aquí aprenderemos cuáles son las ventajas y ventajas de HBase:
- Puede almacenar grandes conjuntos de datos en el almacenamiento de archivos HDFS y agregará y analizará miles de millones de filas presentes en las tablas de HBase
- En HBase, la base de datos se puede compartir.
- OperaOperaciones como la lectura y el procesamiento de datos llevarán una pequeña cantidad de tiempo en comparación con los modelos relacionales tradicionales.
- Operaciones de lectura y escritura aleatorias
- Para operaciones analíticas en línea, HBase se utiliza ampliamente.
- Por ejemplo: en aplicaciones bancarias, como actualizaciones de datos en tiempo real en cajeros automáticos, se puede utilizar HBase.
Desventajas de HBase
Estas son las desventajas/limitaciones importantes de HBase:
- No podemos esperar utilizar HBase por completo como reemplazo de los modelos tradicionales. Algunas de las características de los modelos tradicionales no son compatibles con HBase
- HBase no puede realizar funciones como SQL. No admite estructura SQL, por lo que no contiene ningún optimizador de consultas.
- HBase hace un uso intensivo de la CPU y la memoria, con un acceso secuencial de entrada o salida de gran tamaño, mientras que los trabajos de MapReduce están principalmente limitados a la entrada o salida con memoria fija. HBase integrado con trabajos de MapReduce dará como resultado latencias impredecibles.
- HBase integrado con cerdo y Colmena Los trabajos generan algunos problemas de memoria temporal en el clúster
- En un entorno de clúster compartido, la configuración requiere menos ranuras de tareas por nodo para asignar los requisitos de CPU de HBase