DEV.co
Open-Source Databases · chdb-io

chdb

chDB is an embedded SQL OLAP engine powered by ClickHouse that runs directly in Python applications without requiring a separate server. It supports pandas-compatible DataStore API and native SQL queries, with I/O support for Parquet, CSV, JSON, Arrow, ORC and 60+ other formats.

Source: GitHub — github.com/chdb-io/chdb
2.8k
GitHub stars
125
Forks
Python
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorychdb-io/chdb
Ownerchdb-io
Primary languagePython
LicenseApache-2.0 — OSI-approved
Stars2.8k
Forks125
Open issues42
Latest releasev4.2.0 (2026-07-02)
Last updated2026-07-07
Sourcehttps://github.com/chdb-io/chdb

What chdb is

In-process OLAP engine using ClickHouse backend compiled to Python bindings; supports DB API 2.0, lazy query evaluation with automatic SQL generation, minimized C++/Python data copying via memoryview, and pluggable query routing to optimal execution engine (ClickHouse or pandas).

Quickstart

Get the chdb source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/chdb-io/chdb.gitcd chdb# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Data Analysis Notebooks & Scripts

Ideal for Jupyter notebooks and data science workflows where you need ClickHouse performance without managing a separate database instance. Familiar pandas syntax reduces learning curve.

Embedded Analytics in Applications

Deploy OLAP capabilities directly inside Python applications—no network calls, no database ops overhead. Suitable for desktop tools, CLI applications, and edge computing scenarios.

Multi-Format Data Processing

Efficiently query and transform Parquet, CSV, JSON, Arrow, ORC and 60+ formats in a single process. Useful for ETL pipelines and data preprocessing workflows.

Implementation considerations

  • Python 3.9+ required; macOS and Linux (x86_64, ARM64) only—Windows support not listed in documentation.
  • Memory footprint grows with dataset size; no built-in spilling to disk, so large datasets may exhaust RAM.
  • Lazy evaluation requires explicit `.compute()` or result fetch to trigger execution; unexpected if users expect eager evaluation.
  • DataStore API covers 209 DataFrame methods and 334 SQL functions, but compatibility is not 100%; review specific operations before committing.
  • Version 4.2.0 (July 2026) is recent; validate stability and performance in your workload via PoC before production deployment.

When to avoid it — and what to weigh

  • Persistent, Multi-User Database Requirements — chDB is in-process and transient by default. If you need durable, multi-user, multi-tenant data access with ACID guarantees, use a dedicated ClickHouse server or other production database.
  • Large Distributed Queries — chDB runs in a single process. For massive-scale distributed analytics across clusters, a full ClickHouse cluster is more appropriate.
  • Real-Time Streaming Ingestion — chDB is not designed as a streaming sink. If you need sub-second event streaming ingestion, consider Kafka+ClickHouse or alternative stream processing systems.
  • Complex Transactions & Relational Integrity — OLAP engines prioritize analytical queries over transactional consistency. If strong ACID guarantees and row-level updates are critical, use PostgreSQL, MySQL, or an OLTP database.

License & commercial use

Apache License 2.0 (Apache-2.0). Permissive open-source license allowing commercial use, modification, and distribution with proper attribution and liability disclaimer.

Apache 2.0 explicitly permits commercial use without licensing fees. Derivative works and proprietary extensions are allowed; include a copy of the license and notice of changes. No warranty or liability assumed by licensor. Verify compliance with your legal counsel for enterprise deployments.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

In-process execution reduces network attack surface but runs all queries in the same Python process—no isolation between queries or tenants. Parameterized queries reduce SQL injection risk; validate input handling in your implementation. No disclosed vulnerability history in provided data; review ClickHouse CVE history separately. File I/O from untrusted sources (S3, remote DBs) requires same vetting as direct network access.

Alternatives to consider

DuckDB

Lightweight embedded SQL engine with C++ backend and Python bindings. Comparable performance for OLAP, native Parquet/CSV support, slightly smaller footprint. No pandas-compatibility layer; requires SQL knowledge.

Polars

GPU-capable dataframe library written in Rust with Python bindings. Faster than pandas for medium-large datasets but requires learning new API (not pandas-compatible). No traditional SQL interface.

ClickHouse Server (Standalone)

Full-featured OLAP database with persistence, clustering, replication. Required for multi-user, distributed, or durable analytics. Higher operational overhead; suitable for production data warehouses.

Software development agency

Build on chdb with DEV.co software developers

chDB brings ClickHouse performance directly into your Python code—no database ops overhead. Start with a quick pip install and explore our pandas-compatible DataStore API.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

chdb FAQ

Can I use chDB for production analytics dashboards?
Yes, for single-process or embedded scenarios (desktop tools, CLI, notebooks). For multi-user web dashboards, consider a ClickHouse server to avoid process overhead and enable concurrency.
Does chDB persist data to disk?
By default, chDB is in-memory and transient. You can use `conn = chdb.connect('test.db')` for file-backed storage, but this is not a full persistent database; data is loaded/computed on each query.
What happens if my dataset exceeds available RAM?
Unknown from provided data. chDB does not list built-in spilling to disk. Expect out-of-memory errors. Test memory limits and dataset size in your environment before production use.
Is the DataStore pandas-compatible API fully featured?
No. DataStore implements 209 DataFrame methods and 334 SQL functions, covering common operations. Advanced pandas features may not work. Test your specific queries and operations before relying on DataStore in production.

Custom software development services

Adopting chdb is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.

Ready to Add Embedded Analytics to Your Python App?

chDB brings ClickHouse performance directly into your Python code—no database ops overhead. Start with a quick pip install and explore our pandas-compatible DataStore API.