chDB
chDB 是一个由 ClickHouse v25.8.2.1 驱动的高性能进程内 SQL OLAP 引擎。 当你希望在某种编程语言环境中使用 ClickHouse 的强大功能,而无需连接到 ClickHouse 服务器时,就可以使用它。
关键特性
- 进程内 SQL OLAP 引擎 - 由 ClickHouse 提供支持,无需安装 ClickHouse 服务器
- 多种数据格式 - 输入与输出支持 Parquet、CSV、JSON、Arrow、ORC 和 70 多种其他格式
- 最小化数据复制 - 通过 python memoryview 在 C++ 与 Python 之间高效传递数据
- 丰富的 Python 生态集成 - 原生支持 Pandas、Arrow、DB API 2.0,可无缝融入现有数据科学工作流
- 零依赖 - 无需安装外部数据库
- DataStore API - 具备 SQL 优化的 Pandas 兼容 API,支持 630+ 个方法
DataStore:pandas 兼容 API
新功能! DataStore 提供了一个与 pandas 兼容的 API,将熟悉的 pandas 语法与 ClickHouse 的高性能相结合。
一行代码迁移
性能亮点
| 操作 | pandas | DataStore | 提速倍数 |
|---|---|---|---|
| GroupBy 计数 | 347ms | 17ms | 19.93x |
| 复杂处理流水线 | 2,047ms | 380ms | 5.39x |
| Filter+Sort+Head | 1,537ms | 350ms | 4.40x |
基于 1000 万行数据的基准测试
DataStore 功能
- 630+ 个 API 方法 - 209 个 pandas DataFrame 方法,185+ 个 accessor 方法
- 惰性求值 - 操作会被编译为优化后的 SQL
- SQL 下推 - 筛选和聚合直接在数据源上执行
- 广泛的数据源支持 - 从文件、S3、数据库、数据湖中读取
了解更多:DataStore 文档
chDB 支持哪些语言?
chDB 提供以下语言绑定:
如何开始?
面向 pandas 用户
从 DataStore API 入手,以获得熟悉的 pandas 使用体验,同时发挥 ClickHouse 的性能优势:
- DataStore 快速入门 - 安装与一行命令迁移
- 从 pandas 迁移 - 分步迁移指南
- Pandas 实战手册 - 常见模式
- 关键差异 - 与 pandas 的重要区别
- 性能指南 - 优化建议
DataStore API 参考
- 工厂方法 - 从文件、数据库、云存储创建
- 查询构造 - 类 SQL 操作
- Pandas 兼容性 - 209 个兼容方法
- 访问器 - .str、.dt、.arr、.json、.url、.ip、.geo
- 配置 - 引擎、日志、性能分析
- 调试 - explain()、性能分析、日志
SQL API 指南
- Python API 参考 - 完整的 SQL API 参考文档
- JupySQL
- 查询 Pandas
- 查询 Apache Arrow
- 查询 S3 中的数据
- 查询 Parquet 文件
- 查询远程 ClickHouse
- 使用 clickhouse-local 数据库
入门视频
观看一个关于 chDB 的简短介绍视频,了解如何在 Python 环境中发挥 ClickHouse 的强大能力:
性能基准测试
chDB 在不同场景下均具备卓越性能:
- 嵌入式引擎的 ClickBench 基准测试 - SQL API 性能比较
- DataFrame 基准测试 - DataFrame 引擎比较
- DataStore 与 Pandas 对比 - 在常见操作中,性能最高可比 pandas 快 20 倍

关于 chDB
- 在博客中阅读 chDB 项目诞生的完整故事
- 在博客中了解 chDB 及其使用场景
- 参加chDB 点播课程
- 使用codapi 示例在浏览器中体验 chDB
- 更多示例请参见:https://github.com/chdb-io/chdb/tree/main/examples
许可证
chDB 以 Apache License 2.0 版发布。有关更多信息,请参阅 LICENSE。