跳转到主要内容
DataStore 是 chDB 的与 pandas 兼容的 API,将熟悉的 pandas DataFrame 接口与 SQL 查询优化能力结合在一起,让你既能编写 pandas 风格的代码,又能获得 ClickHouse 级别的性能。

主要特性

  • Pandas 兼容性:209 个 pandas DataFrame 方法、56 个 .str 方法和 42+ 个 .dt 方法
  • SQL 优化:操作会自动编译为优化后的 SQL 查询
  • 惰性求值:操作会延迟到需要结果时才执行
  • 630+ API 方法:提供全面的数据处理 API
  • ClickHouse 扩展:提供 pandas 中没有的额外访问器 (.arr、.json、.url、.ip、.geo)

架构

DataStore 采用 惰性求值 和 双引擎执行:
  1. 惰性操作链:操作只会被记录,不会立即执行
  2. 智能引擎选择:QueryPlanner 会将每个片段分派到最合适的引擎 (SQL 使用 chDB,复杂操作使用 Pandas)
  3. 中间结果缓存:每一步的结果都会被缓存,便于快速进行迭代探索
详见执行模型。

从 Pandas 一行代码迁移

您现有的 pandas 代码无需改动,即可直接在 ClickHouse 引擎上运行。

性能对比

与 pandas 相比,DataStore 在性能上有显著提升,尤其是在聚合和复杂管道方面: 基于 1000 万行的基准测试。详见基准测试脚本和性能指南。

何时使用 DataStore

在以下情况下使用 DataStore:
  • 处理大型数据集 (数百万行)
  • 执行聚合和 GroupBy 操作
  • 从文件、数据库或云存储中查询数据
  • 构建复杂的数据管道
  • 你希望使用 pandas API,同时获得更好的性能
在以下情况下使用原生 SQL API:
  • 你更喜欢直接编写 SQL
  • 你需要对查询执行进行更细粒度的控制
  • 需要使用 pandas API 未提供的 ClickHouse 特有功能

功能对比

API 统计

开始使用

API 参考文档

高级主题

配置与调试

  • 配置 - 所有配置选项
  • 性能模式 - 以 SQL 为先、实现最大吞吐量
  • 调试 - Explain、性能分析和日志

Pandas 用户指南

快速示例

后续步骤