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

Требования

  • 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:

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

chDB поддерживает нативные Python UDF, выполняемые в процессе приложения, с типизированными аргументами, автоматическим выводом типов и настраиваемой обработкой NULL и исключений.
Полное руководство по методам регистрации, системе типов, обработке NULL, исключений и поддержке DateTime см. в руководстве по Python UDF. Полный справочник API см. в справочнике API Python UDF. Более старый декоратор @chdb_udf по-прежнему доступен, но заменён этим API — см. устаревший API.

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

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

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

Запросы к DataFrame в Pandas

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

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

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

Бенчмарки

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

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

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