Holo Client es una interfaz propietaria desarrollada por Hologres y basada en Java Database Connectivity (JDBC). Está diseñada para escrituras de datos con alto throughput y consultas puntuales con alto número de consultas por segundo (QPS) en Hologres. Esta herramienta agrega procesamiento por lotes y optimización de consultas para cargas de trabajo donde JDBC por sí solo no basta.
Holo Client no reemplaza la interfaz JDBC. Para consultas de procesamiento analítico en línea (OLAP), utilice la interfaz JDBC.
Capacidades principales
Holo Client está optimizado para dos cargas de trabajo principales:
|
Carga de trabajo |
Descripción |
|
Escrituras de alto throughput |
Holo Client agrupa automáticamente los registros en lotes antes de escribirlos. Esto permite escrituras en tiempo real y por lotes de grandes volúmenes de datos con alto rendimiento. También admite operaciones DELETE y UPDATE basadas en claves primarias. |
|
Consultas puntuales de alto QPS |
Holo Client está optimizado para uniones de tablas de dimensiones que requieren muchas consultas puntuales por segundo. |
Además de estas dos cargas de trabajo principales, Holo Client ofrece:
Enrutamiento automático de particiones: Los datos se escriben automáticamente en la partición correcta. No es necesario crear las particiones previamente.
Suscripción a Binlog: Suscríbase al registro binario (Binlog) de Hologres para consumir datos en tiempo real, de forma similar a la interfaz JDBC.
Compatibilidad con múltiples lenguajes: Admite Java, C y Go.
Agregue Holo Client a su proyecto
Holo Client es de código abierto. Cada versión se publica en el repositorio Maven Central. Para consultar las versiones disponibles, consulte Versiones de Holo Client.
Declare Holo Client como dependencia mediante su herramienta de compilación. Reemplace VERSION con la versión que desee utilizar.
Maven
<dependency>
<groupId>com.alibaba.hologres</groupId>
<artifactId>holo-client</artifactId>
<version>VERSION</version>
</dependency>
Gradle
implementation 'com.alibaba.hologres:holo-client:VERSION'
Preguntas frecuentes
¿Por qué select hologres.hg_internal_refresh_meta(xxx); muestra alta latencia en los registros de consultas lentas?
Holo Client utiliza la función hg_internal_refresh_meta para obtener metadatos de tablas de la instancia. Cuando las operaciones de lenguaje de definición de datos (DDL) son frecuentes, la función espera a que se actualice la versión de metadatos del nodo actual antes de devolver el resultado, lo cual puede tardar considerablemente.
Si observa muchas de estas instrucciones con alta latencia en sus registros de consultas lentas, significa que las operaciones DDL se ejecutan con demasiada frecuencia en la instancia. Reduzca la frecuencia de las operaciones DDL para mantener consistentes las versiones de metadatos en todos los nodos.