O Holo Client é uma interface proprietária desenvolvida pelo Hologres com base no Java Database Connectivity (JDBC). Esse recurso foi projetado para gravações de dados com alto throughput e consultas pontuais com alto QPS no Hologres. Ele adiciona processamento em lote e otimização de consultas para cargas de trabalho nas quais o JDBC sozinho não é suficiente.
O Holo Client não substitui a interface JDBC. Para consultas de processamento analítico online (OLAP), use a interface JDBC.
Capacidades principais
O Holo Client é otimizado para duas cargas de trabalho principais:
|
Carga de trabalho |
Descrição |
|
Gravações de alto throughput |
O Holo Client agrupa registros automaticamente em lotes antes da gravação. Isso permite gravações em lote e em tempo real de grandes volumes de dados com alta performance. Também há suporte a operações DELETE e UPDATE baseadas em chaves primárias. |
|
Consultas pontuais de alto QPS |
Otimizado para junções de tabelas de dimensão que exigem muitas consultas pontuais por segundo. |
Além dessas duas cargas de trabalho principais, o Holo Client oferece:
Roteamento automático de partições: Os dados são gravados na partição correta automaticamente. Não é necessário criar partições antecipadamente.
Assinatura de Binlog: Assine o log binário (Binlog) do Hologres para consumir dados em tempo real, de forma semelhante à interface JDBC.
Suporte a várias linguagens: Compatível com Java, C e Go.
Adicione o Holo Client ao seu projeto
O Holo Client é open source e cada versão é publicada no repositório Maven Central. Para consultar as versões disponíveis, acesse Lançamentos do Holo Client.
Declare o Holo Client como dependência usando sua ferramenta de build. Substitua VERSION pela versão desejada.
Maven
<dependency>
<groupId>com.alibaba.hologres</groupId>
<artifactId>holo-client</artifactId>
<version>VERSION</version>
</dependency>
Gradle
implementation 'com.alibaba.hologres:holo-client:VERSION'
Perguntas frequentes
Por que select hologres.hg_internal_refresh_meta(xxx); apresenta alta latência nos logs de consultas lentas?
O Holo Client usa a função hg_internal_refresh_meta para buscar metadados das tabelas na instância. Quando operações de Data Definition Language (DDL) ocorrem com frequência, essa função aguarda a atualização da versão dos metadados do nó atual antes de retornar. Esse processo pode levar um tempo significativo.
Se você observar muitas instruções com alta latência nos logs de consultas lentas, as operações DDL estão sendo executadas com muita frequência na instância. Reduza a frequência das operações DDL para manter as versões de metadados consistentes entre os nós.