可用引擎
配置引擎
全局配置
查看当前引擎
自动模式
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 格式时
性能特性
跨 DataStore 引擎
示例
引擎选择逻辑
自动模式决策树
函数级别覆盖
性能对比
关键结论:
- chDB 在聚合和复杂管道方面表现尤为出色
- 对于简单的单步操作,pandas 略快一些
- 使用
auto模式可同时兼顾两者的优势