Skip to content

chDB —— 快速、可靠、可扩展的进程内数据库

在进程内体验 ClickHouse 的强大能力。为任何数据密集型应用带来无与伦比的性能、可靠性与可扩展性。

  • 极速 SQL 引擎
  • 支持 80 多种数据格式
  • 与 DataFrame 实现零拷贝数据交换
  • 原生 Pandas 风格的 Pythonic 接口
Hex

chDB 4.0 正式发布

编写 Pandas,运行于 ClickHouse,现已支持 Hex

借助全新的 DataStore API,您可以直接编写已经熟悉的 Pandas 代码,代码将自动在 ClickHouse 引擎上执行。

DataStore 会将您的操作记录为一条惰性管道,在执行时将整条链路编译为优化后的 ClickHouse SQL,并应用过滤下推、列裁剪与 LIMIT 传播等优化。

One import change
Timer icon

惰性执行,ClickHouse 级速度

操作只记录、不执行。完整管道会被编译为优化 SQL,并在 ClickHouse 向量化、多线程的引擎上运行。

Arrows icon

无缝引擎回退

操作只记录、不执行。完整管道会被编译为优化 SQL,并在 ClickHouse 向量化、多线程的引擎上运行。

Wand icon

一行 import 即可迁移

操作只记录、不执行。完整管道会被编译为优化 SQL,并在 ClickHouse 向量化、多线程的引擎上运行。

在 Hex 中试用 chDB 4.0

在 Hex Notebook 中,无需任何配置即可运行 Pandas 风格的 ClickHouse 查询。

通过 ClickHouse 即可获得延长的免费试用。

在 Hex 中开启延长试用

了解如何在 Hex 中使用 chDB

chDB 与 ClickHouse 生态

无论是本地开发、在应用中嵌入进程内分析,还是扩展生产工作负载,ClickHouse 都能为您提供支持。

Engine

ClickHouse

Python process

chDB: ClickHouse In-Process

Command-line

ClickHouse Local

book

开源库

chDB 是一个开源库,您可以根据自身需求自由定制并扩展您的数据库。受益于活跃的社区,您可以紧跟最新创新与安全最佳实践。

list-search

直接查询对象

借助 chDB,您可以直接在所选编程语言中查询原生对象。这种直接访问减少了延迟、简化了数据处理,带来更快的操作体验。

file-py

支持 Python DB API 2.0

chDB 支持 Python DB API 2.0,可与您的 Python 应用无缝集成。借助熟悉的库与工具,享受一致、可靠且易用的体验。

Pandas

原生兼容 Pandas

编写直接在 ClickHouse 上执行的 Pandas 代码。DataStore API 带来惰性执行、自动查询优化与无缝的引擎回退。

chDB 提供多种编程语言的绑定,包括:

BunnodeRustGOPython

嵌入式运行,无需安装或运行 ClickHouse 服务

  • 部署简化,无需额外配置
  • 降低系统复杂度与资源占用
  • 非常适合轻量级与嵌入式应用
Embedded

DataFrame 零拷贝交换

  • DataFrame 直接读写,无序列化开销
  • 数值和定宽列通过 buffer 协议直接与 Pandas 共享内存
Minimized Copying

输入输出支持 Parquet、CSV、JSON、Arrow、ORC 以及 80 多种格式

  • 轻松对接多种数据源
  • 简化数据交换与互操作
  • 保障与各种数据格式的兼容性
Input Output

chDB 持续领先 DuckDB、Pandas 与 Polars,现已支持零拷贝 DataFrame 交换

借助 chDB,您可在进程内享受 ClickHouse 的极速性能。

247x

快于 Pandas

在 100 万行 DataFrame 上执行 COUNT(*) 聚合

ChDB vs Pandas

~24%

快于 DuckDB

将 100 万行数据导出至 Pandas DataFrame(2.64 秒 vs 3.47 秒)

ChDB vs DuckDB

87x

快于 chDB v1

端到端 DataFrame 查询,v2+ 零拷贝输入

chDB vs chDB

在 100 万与 1000 万行规模上,围绕 14 种常用 Pandas 操作进行的对比测试中,chDB 在大多数项上保持领先。查看完整基准测试结果

FAQ Icon

chDB 适合用在哪些场景?

无论您在何处,我们都与您同在。我们乐于与 ClickHouse 社区深度交流,并随时为您解答疑问。

向我们提问 ->->

几分钟即可开始使用 chDB

在 macOS 与 Linux 上安装 chDB

pip install chdb
query = "select count() FROM s3('s3://datasets-documentation/hackernews/hacknernews.json.gz')"
chdb.query(query, 'DataFrame')
Sample Query

在寻找托管方案?

立即开始使用 ClickHouse Cloud

30 天免费试用,加上 300 美元额度,助您自如开启探索。