すべてのプロダクト
Search
ドキュメントセンター

Hologres:Holo Client

最終更新日:Jan 11, 2025

このトピックでは、Holo Client の使用方法について説明します。

Holo Client の概要

ビジネスが発展するにつれて、ビジネスデータのサイズは急速に増加する可能性があります。データ管理を支援するために、Hologres チームは Java Database Connectivity(JDBC)に基づいて Holo Client を開発しました。Holo Client を使用すると、大量のデータをバッチまたはリアルタイムで Hologres に書き込むことができます。また、Holo Client を使用すると、高いクエリ/秒(QPS)でディメンションテーブルとの関連付けに基づいてポイントクエリを実行できます。

Holo Client は、次の機能を提供します。

  • Holo Client は、データをバッチで自動的に収集します。この機能により、大量のデータをバッチまたはリアルタイムで高パフォーマンスで書き込み、主キーに基づいて高い QPS でポイントクエリ、DELETE 操作、および UPDATE 操作を実行できます。ただし、オンライン分析処理(OLAP)クエリには引き続き JDBC を使用することをお勧めします。

  • Holo Client は、対応するパーティションにデータを自動的に書き込みます。このため、事前にパーティションを作成する必要はありません。

  • Holo Client は、Hologres バイナリログのサブスクリプションをサポートしています。この機能は JDBC でもサポートされており、データをリアルタイムで消費できます。

  • Holo Client は、Java、C、Go などの複数のプログラミング言語をサポートしており、開発の利便性を向上させています。

Holo Client は、JDBC を置き換えるために開発されたものではありません。JDBC でサポートされていない新機能には、Holo Client を使用できます。JDBC が適用可能なシナリオでは、データクエリには引き続き JDBC を使用することをお勧めします。

Holo Client の使用

  • Holo Client はオープンソースです。

  • すべての Holo Client バージョンは、インターネットからアクセスできる Maven リポジトリで公開されています。 Holo Client バージョンの詳細については、holo-client をご参照ください。

FAQ

  • 問題の説明:

    SQL ステートメント select hologres.hg_internal_refresh_meta(xxx); を実行すると、レイテンシが高くなります。

  • 原因:

    Holo Client は、hg_internal_refresh_meta 関数を使用して、インスタンス内のテーブルのメタデータを取得します。インスタンスで頻繁にデータ定義言語(DDL)操作が実行される場合、この関数は、現在のノードのメタデータバージョンが更新されるまで結果を返しません。この場合、SQL ステートメントの実行に時間がかかります。

  • 解決策:

    ほとんどの場合、SQL ステートメントの実行時間には特に注意を払う必要はありません。このような SQL ステートメントが多数スロークエリログに記録され、レイテンシが高い場合は、インスタンスで DDL 操作が頻繁に実行されています。この場合、ノード間のバージョンの不整合を防ぐために、DDL 操作の頻度を減らすことをお勧めします。