可用引擎
配置引擎
全局配置
查看当前引擎
自动模式
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 模式
何时使用 chDB
- 处理大型数据集 (数百万行)
- 高强度聚合类工作负载
- 当你需要尽可能高的 SQL 优化时
- 需要在所有操作中保持一致行为时
性能特性
局限性
- 可能不支持自定义 Python 函数
- 某些 pandas 特有功能需要先进行转换
pandas 模式
何时使用
- 需要与 pandas 进行兼容性测试时
- 需要使用 pandas 特有功能时
- 调试与 pandas 相关的问题时
- 数据已采用 pandas 格式时
性能特性
Cross-DataStore 引擎
示例
引擎选择逻辑
自动模式 决策树
函数级别覆盖
性能对比
关键结论:
- chDB 在聚合和复杂管道方面表现出色
- 对于简单的单项操作,pandas 略快一些
- 使用
auto模式可兼顾两者的优势