利用可能なエンジン
エンジンの設定
グローバル設定
現在のエンジンを確認する
自動モード
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 Mode
使用するケース
- 大規模なデータセット (数百万行) の処理
- 負荷の高い集計ワークロード
- SQL の最適化を最大限に活用したい場合
- すべての操作で一貫した動作が求められる場合
パフォーマンス特性
制限事項
- カスタム Python 関数はサポートされないことがあります
- pandas 固有の一部機能では変換が必要です
pandas モード
使用する場面
- pandas との互換性をテストする場合
- pandas 固有の機能を使う場合
- pandas 関連の問題をデバッグする場合
- データがすでに pandas 形式になっている場合
パフォーマンス特性
Cross-DataStore エンジン
例
エンジンの選択ロジック
自動モードの決定木
関数レベルのオーバーライド
性能比較
主なポイント:
- chDB は集計や複雑なパイプラインで特に高い性能を発揮します
- シンプルな単一操作では pandas のほうがやや高速です
- 両方の利点を活かすには
autoモードを使用してください