全部產品
Search
文件中心

Hologres:通過Holo Client讀寫資料

更新時間:Jun 30, 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操作頻率,以免出現節點間版本不一致的情況。