利用可能なエンジン
エンジンの設定
グローバル設定
現在のエンジンを確認する
自動モード
auto モード (デフォルト) では、DataStore が各操作に応じて最適なエンジンを選択します。
chDB で実行される操作
- SQL 互換のフィルタリング (
filter(),where()) - カラムの選択 (
select()) - ソート (
sort(),orderby()) - グループ化と集約 (
groupby().agg()) - 結合 (
join(),merge()) - 重複の排除 (
distinct(),drop_duplicates()) - 件数の制限 (
limit(),head(),tail())
pandas で実行される操作
- カスタムの apply 関数 (
apply(custom_func)) - カスタム集計を含む複雑なピボットテーブル
- SQL では表現できない操作
- 入力がすでに pandas の DataFrame である場合
例
chDB モード
使用すべき場合
- 大規模なデータセット (数百万行) の処理
- 高負荷な集約ワークロード
- SQL 最適化を最大限に活用したい場合
- すべての操作で一貫した動作が求められる場合
パフォーマンス特性
制限事項
- カスタムのPython関数はサポートされない場合があります
- pandas固有の一部機能では変換が必要です
pandas モード
使用するケース
- pandas との互換性テスト
- pandas 固有の機能を使う場合
- pandas 関連の問題をデバッグする場合
- データがすでに pandas 形式である場合
パフォーマンス特性
Cross-DataStore エンジン
例
エンジンの選択ロジック
自動モードの判定フロー
関数レベルのオーバーライド
パフォーマンス比較
主なポイント:
- chDB は集計や複雑なパイプラインで特に高い性能を発揮します
- pandas は単純な単一操作ではわずかに高速です
- 両方の長所を活かすには
autoモードを使用してください