Перейти к основному содержанию

Требования

  • Python 3.8+
  • Поддерживаемые платформы: macOS и Linux (x86_64 и ARM64)

Установка

Использование

Командная строка

Выполняйте SQL-запросы прямо из командной строки:

Основы использования Python

API на основе подключений (рекомендуется)

Для более эффективного управления ресурсами и повышения производительности:

Способы ввода данных

Файловые источники данных

chDB поддерживает более 70 форматов данных для прямых запросов к файлам:

Примеры формата вывода

Операции с DataFrame

Устаревший API для DataFrame

Сеансы с сохранением состояния

Сеансы сохраняют состояние запроса между несколькими операциями, позволяя реализовывать более сложные сценарии работы:

Расширенные возможности сеанса

См. также: test_stateful.py.

Интерфейс Python DB-API 2.0

Стандартный интерфейс для работы с базами данных, обеспечивающий совместимость с существующими приложениями Python:

Пользовательские функции (UDF)

Расширьте SQL с помощью пользовательских Python-функций:

Основы использования UDF

Расширенные UDF с пользовательскими типами возвращаемых значений

Рекомендации по UDF

  1. Функции без состояния: UDF должны быть чистыми функциями без побочных эффектов
  2. Импорт внутри функций: Все необходимые модули нужно импортировать внутри UDF
  3. Строковый ввод/вывод: Все параметры UDF передаются как строки (формат TabSeparated)
  4. Обработка ошибок: Для надежности добавляйте блоки try-catch
  5. Производительность: UDF вызываются для каждой строки, поэтому уделяйте внимание производительности

Стриминговое выполнение запросов

Обрабатывайте большие объёмы данных при постоянном потреблении памяти:

Движок таблицы Python

Запросы к DataFrame в Pandas

Пользовательские источники данных с PyReader

Реализуйте собственные модули чтения для специализированных источников данных:

Производительность и оптимизация

Бенчмарки

chDB стабильно превосходит другие встраиваемые движки:
  • Операции с DataFrame: в 2–5 раз быстрее, чем традиционные библиотеки DataFrame, при аналитических запросах
  • Обработка Parquet: на уровне ведущих столбцовых движков
  • Эффективность использования памяти: меньший расход памяти по сравнению с альтернативами
Подробнее о результатах бенчмарков

Рекомендации по повышению производительности

Репозиторий GitHub

Последнее изменение 19 июня 2026 г.