Go向けchDB
chDB-goは、chDBのGoバインディングを提供し、外部依存関係なしでGoアプリケーション内で直接ClickHouseクエリを実行できるようにします。
インストール
ステップ1:libchdbのインストール
まず、chDBライブラリをインストールします:
ステップ2:chdb-goのインストール
Goパッケージをインストールします:
または、go.modに追加します:
使用方法
コマンドラインインターフェース
chDB-goには、クイッククエリ用のCLIが含まれています:
Goライブラリ - クイックスタート
ステートレスクエリ
シンプルな単発クエリの場合:
セッションを使用したステートフルクエリ
永続的な状態を持つ複雑なクエリの場合:
SQLドライバーインターフェース
chDB-goはGoのdatabase/sqlインターフェースを実装しています:
大規模データセット向けクエリストリーミング
メモリに収まらない大規模データセットを処理する場合は、ストリーミングクエリを使用します:
クエリストリーミングの利点:
- メモリ効率が高い - すべてをメモリに読み込まずに大規模データセットを処理できる
- リアルタイム処理 - 最初のチャンクが到着した時点ですぐに処理を開始できる
- キャンセル対応 -
Cancel()を使って長時間実行中のクエリをキャンセルできる - エラー処理 - ストリーミング中のエラーを
Error()で確認できる
APIドキュメント
chDB-goは高レベルAPIと低レベルAPIの両方を提供しています:
- 高レベルAPIドキュメント - ほとんどのユースケースに推奨
- 低レベルAPIドキュメント - きめ細かい制御が必要な高度なユースケース向け
システム要件
- Go 1.21以降
- Linux、macOSに対応