Перейти к основному содержанию
DataStore поддерживает гибкую настройку выбора движка выполнения, режима совместимости, логирования, кэширования, данных профилирования и коррекции dtype.

Краткая справка

from chdb.datastore.config import config

# Быстрые предустановки конфигурации
config.enable_debug()           # Включить подробное логирование
config.use_chdb()               # Принудительно использовать движок ClickHouse
config.use_pandas()             # Принудительно использовать движок pandas
config.use_auto()               # Автоматический выбор движка (по умолчанию)
config.use_performance_mode()   # SQL в приоритете, максимальная пропускная способность
config.use_pandas_compat()      # Полная совместимость с pandas (по умолчанию)
config.enable_profiling()       # Включить профилирование производительности

Все параметры конфигурации

КатегорияПараметрЗначенияПо умолчаниюОписание
Логированиеlog_levelDEBUG/INFO/WARNING/ERRORWARNINGУровень подробности логов
log_format”simple”, “verbose""simple”Формат сообщений лога
Кэшcache_enabledTrue/FalseTrueВключить кэширование результатов
cache_ttlfloat (seconds)0.0Срок time-to-live кэша
Движокexecution_engine”auto”, “chdb”, “pandas""auto”Движок выполнения
cross_datastore_engine”auto”, “chdb”, “pandas""auto”Операции между DataStore
Совместимостьcompat_mode”pandas”, “performance""pandas”Совместимость с pandas или производительность с приоритетом SQL
Профилированиеprofiling_enabledTrue/FalseFalseВключить профилирование
Dtypecorrection_levelNONE/CRITICAL/HIGH/MEDIUM/ALLHIGHУровень коррекции Dtype

Способы настройки

Конфигурация логирования

from chdb.datastore.config import config
import logging

# Установить уровень логирования
config.set_log_level(logging.DEBUG)
config.set_log_level(logging.INFO)
config.set_log_level(logging.WARNING)  # По умолчанию
config.set_log_level(logging.ERROR)

# Установить формат логирования
config.set_log_format("simple")   # По умолчанию
config.set_log_format("verbose")  # Подробный вывод

# Быстрое включение режима отладки
config.enable_debug()  # Устанавливает уровень DEBUG + подробный формат логирования
Подробности см. в разделе Логирование.

Конфигурация кэша

# Включить/отключить кэширование
config.set_cache_enabled(True)   # По умолчанию
config.set_cache_enabled(False)  # Отключить кэширование

# Задать TTL кэша (time-to-live)
config.set_cache_ttl(60.0)  # Кэш истекает через 60 секунд
config.set_cache_ttl(0.0)   # Без срока действия (по умолчанию)

# Проверить текущие настройки
print(config.cache_enabled)
print(config.cache_ttl)

Конфигурация движка

# Установить движок выполнения
config.set_execution_engine('auto')    # Автовыбор (по умолчанию)
config.set_execution_engine('chdb')    # Принудительно ClickHouse
config.set_execution_engine('pandas')  # Принудительно pandas

# Быстрые пресеты
config.use_auto()     # Автовыбор
config.use_chdb()     # Принудительно ClickHouse
config.use_pandas()   # Принудительно pandas

# Движок между DataStore (для операций между разными DataStore)
config.set_cross_datastore_engine('auto')
config.set_cross_datastore_engine('chdb')
config.set_cross_datastore_engine('pandas')

# Проверить текущий движок
print(config.execution_engine)
Подробнее см. в разделе Движок выполнения.

Режим совместимости

# Режим производительности: SQL в приоритете, без накладных расходов на совместимость с pandas
config.use_performance_mode()
# или: config.set_compat_mode('performance')

# Режим совместимости с pandas (по умолчанию)
config.use_pandas_compat()
# или: config.set_compat_mode('pandas')

# Проверка текущего режима
print(config.compat_mode)  # 'pandas' или 'performance'
Подробнее см. в разделе Режим производительности.

Конфигурация данных профилирования

# Включить сбор данных профилирования
config.enable_profiling()
config.set_profiling_enabled(True)

# Отключить сбор данных профилирования
config.set_profiling_enabled(False)

# Проверить, включены ли данные профилирования
print(config.profiling_enabled)
Подробнее см. в разделе данные профилирования.

Коррекция dtype

from chdb.datastore.dtype_correction.config import CorrectionLevel

# Установить уровень коррекции
config.set_correction_level(CorrectionLevel.NONE)      # Без коррекции
config.set_correction_level(CorrectionLevel.CRITICAL)  # Только критические типы
config.set_correction_level(CorrectionLevel.HIGH)      # По умолчанию
config.set_correction_level(CorrectionLevel.MEDIUM)    # Больше коррекций
config.set_correction_level(CorrectionLevel.ALL)       # Все коррекции

Использование объекта config

Объект config — singleton, который управляет всеми настройками:
from chdb.datastore.config import config

# Чтение настроек
print(config.log_level)
print(config.execution_engine)
print(config.cache_enabled)
print(config.profiling_enabled)

# Изменение настроек
config.set_log_level(logging.DEBUG)
config.set_execution_engine('chdb')
config.set_cache_enabled(False)
config.enable_profiling()

Конфигурация в коде

Конфигурация отдельных скриптов

from chdb import datastore as pd
from chdb.datastore.config import config

# Настройка в начале скрипта
config.enable_debug()
config.use_chdb()
config.enable_profiling()

# Ваш код DataStore
ds = pd.read_csv("data.csv")
result = ds.filter(ds['age'] > 25).groupby('city').agg({'salary': 'mean'})

Менеджер Context (в разработке)

# Запланированная возможность: временная конфигурация
with config.override(execution_engine='pandas'):
    result = ds.process()
# Исходные настройки восстановлены

Типовые сценарии конфигурации

Разработка/отладка

from chdb.datastore.config import config

config.enable_debug()        # Подробное логирование
config.enable_profiling()    # Отслеживание производительности
config.set_cache_enabled(False)  # Отключить кэширование для получения актуальных результатов

Продакшн

from chdb.datastore.config import config
import logging

config.set_log_level(logging.WARNING)  # Минимальное логирование
config.set_execution_engine('auto')    # Оптимальный выбор движка
config.set_cache_enabled(True)         # Включить кэширование
config.set_profiling_enabled(False)    # Отключить сбор данных профилирования

Максимальная пропускная способность

from chdb.datastore.config import config

config.use_performance_mode()    # SQL в приоритете, без накладных расходов pandas
config.set_cache_enabled(False)  # Отключить кэш для стриминга

Тестирование производительности

from chdb.datastore.config import config

config.use_chdb()            # Принудительно использовать ClickHouse для бенчмарков
config.enable_profiling()    # Отслеживать производительность
config.set_cache_enabled(False)  # Отключить кэш для точного измерения времени

Тестирование совместимости с Pandas

from chdb.datastore.config import config

config.use_pandas()          # Принудительно использовать движок pandas
config.enable_debug()        # Показать, какие операции используются

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