本文將為您介紹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操作頻率,以免出現節點間版本不一致的情況。