全部产品
Search
文档中心

实时数仓Hologres:Holo Client

更新时间:Oct 22, 2024

本文将为您介绍Holo Client的使用。

Holo Client介绍

随着业务发展,企业数据量也迅猛增加,为了更高效的支持大批量数据的写入(批量、实时同步至Hologres),以及支持高QPS的点查(维表关联)场景,Hologres在JDBC的基础上自研了一款开发接口Holo Client。

Holo Client优势以及使用场景如下。

  • 自动攒批,实现大批量数据高性能批量、实时写入以及高QPS基于主键的查询(点查)、删除(DELETE)以及更新(UPDATE),但OLAP查询更建议使用JDBC接口。

  • 针对分区表场景,写入时能自动路由对应分区,减少分区提前创建的复杂操作。

  • 同JDBC接口一致,支持订阅Hologres Binlog,实现数据的实时消费。

  • 支持Java、C、Go等多种编程语言,提升开发的便捷性。

需要注意的是,Holo Client不是替代JDBC接口,而是丰富了JDBC接口不适配的新增功能,在JDBC适合的分析场景,请继续使用JDBC接口查询数据。

使用Holo Client

  • Holo Client当前已经开源,使用详情请参见Holo Client

  • Holo Client每个版本都会发布到公网Maven仓库,版本信息请参见Holo Client Release

常见问题

  • 问题现象:

    使用系统SQLselect hologres.hg_internal_refresh_meta(xxx);时,延迟高。

  • 问题原因:

    Holo Client将会通过hg_internal_refresh_meta函数获取实例中表的元(Meta)信息。如果实例进行了比较频繁的DDL操作,该函数需要等到当前节点元信息版本更新才会返回,导致耗时较高。

  • 解决方法:

    一般情况下该系统SQL的耗时不需要特别关注。如果慢Query日志中,出现大量该SQL,且延迟较高,说明实例的DDL较频繁,建议减少DDL操作频率,以免出现节点间版本不一致的情况。