このトピックでは、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 操作の頻度を減らすことをお勧めします。