本文将为您介绍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。
常见问题
问题现象:
使用系统SQL
select hologres.hg_internal_refresh_meta(xxx);
时,延迟高。问题原因:
Holo Client将会通过
hg_internal_refresh_meta
函数获取实例中表的元(Meta)信息。如果实例进行了比较频繁的DDL操作,该函数需要等到当前节点元信息版本更新才会返回,导致耗时较高。解决方法:
一般情况下该系统SQL的耗时不需要特别关注。如果慢Query日志中,出现大量该SQL,且延迟较高,说明实例的DDL较频繁,建议减少DDL操作频率,以免出现节点间版本不一致的情况。