Доступные движки
Настройка движка
Глобальная конфигурация
Проверка текущего движка
Режим Auto
auto (по умолчанию) DataStore выбирает для каждой операции оптимальный движок:
Операции, выполняемые в chDB
- SQL-совместимая фильтрация (
filter(),where()) - Выбор столбцов (
select()) - Сортировка (
sort(),orderby()) - Группировка и агрегация (
groupby().agg()) - Соединение (
join(),merge()) - Удаление дубликатов (
distinct(),drop_duplicates()) - Ограничение (
limit(),head(),tail())
Операции, выполняемые в pandas
- Пользовательские apply-функции (
apply(custom_func)) - Сложные сводные таблицы с пользовательскими агрегациями
- Операции, которые невозможно выразить в SQL
- Если на входе уже pandas DataFrame
Пример
Режим chDB
Когда использовать
- Обработка больших наборов данных (миллионы строк)
- Ресурсоёмкие рабочие нагрузки агрегации
- Когда нужна максимальная SQL-оптимизация
- Единообразное поведение во всех операциях
Характеристики производительности
Ограничения
- Пользовательские функции Python могут не поддерживаться
- Для некоторых возможностей, специфичных для pandas, требуется преобразование
Режим pandas
Когда использовать pandas
- Тестирование совместимости с pandas
- Использование возможностей pandas
- Отладка проблем, связанных с pandas
- Когда данные уже представлены в формате pandas
Характеристики производительности
Движок для операций между DataStore
Пример
Логика выбора движка
Дерево решений для режима Auto
Переопределение на уровне функции
Сравнение производительности
Ключевые выводы:
- chDB особенно хорошо показывает себя в агрегациях и сложных конвейерах
- pandas немного быстрее при простых одиночных операциях
- Используйте режим
auto, чтобы получить лучшее из обоих вариантов