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