主な特長
- インプロセス SQL OLAP エンジン - ClickHouse を基盤としており、ClickHouse server をインストールする必要はありません
- 複数のデータフォーマット - Parquet、CSV、JSON、Arrow、ORC、さらに70種類以上のフォーマットでの入出力をサポート
- データコピーを最小化 - C++ から Python への受け渡しに python memoryview を使用
- 豊富な Python エコシステムとのインテグレーション - Pandas、Arrow、DB API 2.0 をネイティブにサポートし、既存のデータサイエンスワークフローにシームレスに組み込めます
- 依存関係ゼロ - 外部データベースをインストールする必要はありません
- DataStore API - SQL 最適化を備えた Pandas 互換 API で、630 以上のメソッドをサポート
DataStore: Pandas互換 API
ワンライナーでの移行
パフォーマンスのハイライト
| 操作 | pandas | DataStore | 高速化率 |
|---|---|---|---|
| GroupBy のカウント | 347ms | 17ms | 19.93x |
| 複雑なパイプライン | 2,047ms | 380ms | 5.39x |
| フィルタ+ソート+Head | 1,537ms | 350ms | 4.40x |
DataStore の機能
- 630+ APIメソッド - 209 の pandas DataFrame メソッドと 185 以上のアクセサメソッド
- 遅延評価 - 操作は最適化された SQL にコンパイルされます
- SQL pushdown - フィルターと集計はデータソース側で実行されます
- 幅広いデータソースに対応 - ファイル、S3、データベース、データレイクから読み取れます
chDB はどの言語に対応していますか?
使い始めるにはどうすればよいですか?
- Go、Rust、NodeJS、Bun、または C and C++ を使用している場合は、それぞれの言語に対応するページを参照してください。
- Python を使用している場合は、Getting Started 開発者ガイド または chDB オンデマンドコース を参照してください。
pandas ユーザー向け
- DataStore Quickstart - インストールとワンライナーでの移行
- pandas からの移行 - 手順を追った移行ガイド
- Pandas Cookbook - よくあるパターン
- 主な違い - pandas との重要な違い
- Performance Guide - 最適化のヒント
DataStore API リファレンス
- ファクトリメソッド - ファイル、データベース、クラウドストレージから作成
- クエリ構築 - SQL スタイルの操作
- Pandas 互換性 - 209 の対応メソッド
- アクセサ - .str, .dt, .arr, .json, .url, .ip, .geo
- 設定 - エンジン、ログ、プロファイリング
- デバッグ - explain()、プロファイリング、ログ
SQL API ガイド
- Python API リファレンス - SQL API の完全なドキュメント
- JupySQL
- Pandas をクエリする
- Apache Arrow をクエリする
- S3内のデータをクエリする
- Parquetファイルをクエリする
- リモートの ClickHouse をクエリする
- clickhouse-local データベースを使用する
紹介ビデオ
パフォーマンスベンチマーク
- 埋め込みエンジンの ClickBench - SQL API パフォーマンス比較
- DataFrame Benchmark - DataFrameエンジンの比較
- DataStore と Pandas の比較 - 一般的な処理では pandas より最大20倍高速
chDB について
- chDB プロジェクト誕生の詳しい経緯は、ブログをご覧ください
- chDB とそのユースケースについては、ブログをお読みください
- chDB のオンデマンドコースを受講する
- codapi examples を使ってブラウザーで chDB を試す
- その他の例は (https://github.com/chdb-io/chdb/tree/main/examples) を参照