chDB — это быстрый встраиваемый SQL OLAP-движок на базе ClickHouse v25.8.2.1. Его можно использовать, если вам нужны возможности ClickHouse в языке программирования без необходимости подключаться к серверу ClickHouse.
Ключевые возможности
- Встраиваемый SQL OLAP-движок - Работает на базе ClickHouse, не нужно устанавливать сервер ClickHouse
- Множество форматов данных - Поддержка ввода и вывода в форматах Parquet, CSV, JSON, Arrow, ORC и ещё 70+ форматов
- Минимальное копирование данных - От C++ до Python с помощью python memoryview
- Широкая интеграция с экосистемой Python - Нативная поддержка Pandas, Arrow, DB API 2.0; легко встраивается в существующие рабочие процессы data science
- Нулевые зависимости - Не требует установки внешней базы данных
- API DataStore - API, совместимый с Pandas, с SQL-оптимизацией и поддержкой 630+ методов
DataStore: API, совместимый с pandas
Новинка! DataStore предоставляет API, совместимый с pandas, который сочетает привычный синтаксис pandas с производительностью ClickHouse.
Однострочная миграция
# Just change your import - your pandas code works unchanged
- import pandas as pd
+ from chdb import datastore as pd
df = pd.read_csv("data.csv")
result = df[df['age'] > 25].groupby('city')['salary'].mean()Ключевые показатели производительности
| Операция | pandas | DataStore | Ускорение |
|---|---|---|---|
| Подсчёт в GroupBy | 347ms | 17ms | 19.93x |
| Сложный конвейер | 2,047ms | 380ms | 5.39x |
| Filter+Sort+Head | 1,537ms | 350ms | 4.40x |
Бенчмарки на 10 млн строках
Возможности DataStore
- 630+ методов API - 209 методов pandas DataFrame, 185+ методов аксессоров
- Отложенное вычисление - операции компилируются в оптимизированный SQL
- SQL pushdown - фильтры и агрегации выполняются на стороне источника данных
- Универсальные источники данных - чтение из файлов, S3, баз данных, озер данных
Подробнее: Документация DataStore
Какие языки поддерживает chDB?
chDB поддерживает привязки для следующих языков:
С чего начать?
- Если вы используете Go, Rust, NodeJS, Bun или C and C++, ознакомьтесь с соответствующими страницами.
- Если вы используете Python, см. руководство для разработчиков «Начало работы» или курс chDB в записи.
Для пользователей pandas
Начните с API DataStore, чтобы получить привычный опыт работы с pandas и производительность ClickHouse:
- Краткое руководство по DataStore - Установка и миграция в одну строку
- Миграция с pandas - Пошаговое руководство по миграции
- Практические рецепты для pandas - Типовые приёмы
- Ключевые различия - Важные отличия от pandas
- Руководство по производительности - Советы по оптимизации
Справочник по API DataStore
- Фабричные методы - Создание из файлов, баз данных и облачных хранилищ
- Построение запросов - Операции в стиле SQL
- Совместимость с Pandas - 209 совместимых методов
- Аксессоры - .str, .dt, .arr, .json, .url, .ip, .geo
- Конфигурация - движок, логирование, профилирование
- Отладка - explain(), профилирование, логирование
Руководства по SQL API
- Справочник по API Python - Полная документация по SQL API
- JupySQL
- Запросы к Pandas
- Запросы к Apache Arrow
- Запросы к данным в S3
- Запросы к файлам Parquet
- Запросы к удалённому ClickHouse
- Использование базы данных clickhouse-local
Вводное видео
Посмотрите краткий обзор chDB и узнайте, как он переносит возможности ClickHouse в среду Python:
Бенчмарки производительности
chDB демонстрирует исключительную производительность в различных сценариях:
- ClickBench встраиваемых движков — сравнение производительности SQL API
- DataFrame Benchmark - Сравнение движков DataFrame
- DataStore vs pandas - До 20 раз быстрее pandas в типовых операциях

О chDB
- Прочитайте полную историю создания проекта chDB в блоге
- Прочитайте о chDB и сценариях его использования в блоге
- Пройдите курс по chDB в записи
- Познакомьтесь с chDB в браузере с помощью примеров codapi
- Больше примеров смотрите здесь: (https://github.com/chdb-io/chdb/tree/main/examples)
Лицензия
chDB распространяется по лицензии Apache License 2.0. Подробнее см. в файле LICENSE.