Saltar al contenido principal
DataStore ofrece amplias opciones de configuración para seleccionar el motor de ejecución, el modo de compatibilidad, el registro, el almacenamiento en caché, el perfilado y la corrección de dtype.

Referencia rápida

from chdb.datastore.config import config

# Preajustes de configuración rápida
config.enable_debug()           # Habilitar registro detallado
config.use_chdb()               # Forzar el engine de ClickHouse
config.use_pandas()             # Forzar el engine de pandas
config.use_auto()               # Selección automática de engine (predeterminado)
config.use_performance_mode()   # SQL primero, throughput máximo
config.use_pandas_compat()      # Compatibilidad completa con pandas (predeterminado)
config.enable_profiling()       # Habilitar perfilado de rendimiento

Todas las opciones de configuración

CategoríaOpciónValoresPredeterminadoDescripción
Registrolog_levelDEBUG/INFO/WARNING/ERRORWARNINGNivel de detalle del registro
log_format”simple”, “verbose""simple”Formato de los mensajes de registro
Cachécache_enabledTrue/FalseTrueActiva la caché de resultados
cache_ttlfloat (segundos)0.0TTL de la caché
Motorexecution_engine”auto”, “chdb”, “pandas""auto”Motor de ejecución
cross_datastore_engine”auto”, “chdb”, “pandas""auto”Operaciones entre DataStore
Compatcompat_mode”pandas”, “performance""pandas”Compatibilidad con pandas frente al rendimiento orientado a SQL
Perfiladoprofiling_enabledTrue/FalseFalseActiva el perfilado
Dtypecorrection_levelNONE/CRITICAL/HIGH/MEDIUM/ALLHIGHNivel de corrección de dtype

Métodos de configuración

Configuración del registro

from chdb.datastore.config import config
import logging

# Establecer el nivel de registro
config.set_log_level(logging.DEBUG)
config.set_log_level(logging.INFO)
config.set_log_level(logging.WARNING)  # Por defecto
config.set_log_level(logging.ERROR)

# Establecer el formato de registro
config.set_log_format("simple")   # Por defecto
config.set_log_format("verbose")  # Más detalles

# Activar rápidamente el modo de depuración
config.enable_debug()  # Establece el nivel DEBUG + formato detallado
Consulta Registro para más detalles.

Configuración de la caché

# Habilitar/deshabilitar el almacenamiento en caché
config.set_cache_enabled(True)   # Predeterminado
config.set_cache_enabled(False)  # Deshabilitar el almacenamiento en caché

# Establecer el TTL de caché (time-to-live)
config.set_cache_ttl(60.0)  # La caché expira después de 60 segundos
config.set_cache_ttl(0.0)   # Sin expiración (predeterminado)

# Verificar la configuración actual
print(config.cache_enabled)
print(config.cache_ttl)

Configuración del motor

# Establecer el motor de ejecución
config.set_execution_engine('auto')    # Selección automática (predeterminado)
config.set_execution_engine('chdb')    # Forzar ClickHouse
config.set_execution_engine('pandas')  # Forzar pandas

# Ajustes rápidos
config.use_auto()     # Selección automática
config.use_chdb()     # Forzar ClickHouse
config.use_pandas()   # Forzar pandas

# Motor Cross-DataStore (para operaciones entre distintos DataStores)
config.set_cross_datastore_engine('auto')
config.set_cross_datastore_engine('chdb')
config.set_cross_datastore_engine('pandas')

# Comprobar el motor actual
print(config.execution_engine)
Consulte Motor de ejecución para más información.

Modo de compatibilidad

# Modo de rendimiento: SQL primero, sin sobrecarga de compatibilidad con pandas
config.use_performance_mode()
# o: config.set_compat_mode('performance')

# Modo de compatibilidad con pandas (predeterminado)
config.use_pandas_compat()
# o: config.set_compat_mode('pandas')

# Comprobar el modo actual
print(config.compat_mode)  # 'pandas' o 'performance'
Consulte Modo de rendimiento para más detalles.

Configuración del perfilado

# Habilitar perfilado
config.enable_profiling()
config.set_profiling_enabled(True)

# Deshabilitar perfilado
config.set_profiling_enabled(False)

# Comprobar si el perfilado está habilitado
print(config.profiling_enabled)
Consulta Perfilado para más detalles.

Corrección de dtype

from chdb.datastore.dtype_correction.config import CorrectionLevel

# Establecer nivel de corrección
config.set_correction_level(CorrectionLevel.NONE)      # Sin corrección
config.set_correction_level(CorrectionLevel.CRITICAL)  # Solo tipos críticos
config.set_correction_level(CorrectionLevel.HIGH)      # Predeterminado
config.set_correction_level(CorrectionLevel.MEDIUM)    # Más correcciones
config.set_correction_level(CorrectionLevel.ALL)       # Todas las correcciones

Uso del objeto config

El objeto config es un singleton que gestiona toda la configuración:
from chdb.datastore.config import config

# Leer configuración
print(config.log_level)
print(config.execution_engine)
print(config.cache_enabled)
print(config.profiling_enabled)

# Modificar configuración
config.set_log_level(logging.DEBUG)
config.set_execution_engine('chdb')
config.set_cache_enabled(False)
config.enable_profiling()

Configuración en código

Configuración por script

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

# Configurar al inicio del script
config.enable_debug()
config.use_chdb()
config.enable_profiling()

# Tu código de DataStore
ds = pd.read_csv("data.csv")
result = ds.filter(ds['age'] > 25).groupby('city').agg({'salary': 'mean'})

Gestor de Context (Próximamente)

# Función planificada: configuración temporal
with config.override(execution_engine='pandas'):
    result = ds.process()
# Configuración original restaurada

Escenarios de configuración comunes

Desarrollo/Depuración

from chdb.datastore.config import config

config.enable_debug()        # Registro detallado
config.enable_profiling()    # Seguimiento del rendimiento
config.set_cache_enabled(False)  # Deshabilitar el caching para obtener resultados frescos

Producción

from chdb.datastore.config import config
import logging

config.set_log_level(logging.WARNING)  # Registro mínimo
config.set_execution_engine('auto')    # Selección óptima de motor
config.set_cache_enabled(True)         # Habilitar caché
config.set_profiling_enabled(False)    # Deshabilitar la sobrecarga de perfilado

Rendimiento máximo

from chdb.datastore.config import config

config.use_performance_mode()    # SQL primero, sin sobrecarga de pandas
config.set_cache_enabled(False)  # Deshabilitar caché para streaming

Pruebas de rendimiento

from chdb.datastore.config import config

config.use_chdb()            # Forzar ClickHouse para benchmarks
config.enable_profiling()    # Rastrear rendimiento
config.set_cache_enabled(False)  # Deshabilitar caché para medición precisa del tiempo

Pruebas de compatibilidad con pandas

from chdb.datastore.config import config

config.use_pandas()          # Forzar el motor de pandas
config.enable_debug()        # Ver qué operaciones se utilizan

Última modificación el 10 de junio de 2026