Pular para o conteúdo principal
O DataStore oferece amplas opções de configuração para seleção do mecanismo de execução, modo de compatibilidade, logging, caching, profiling e correção de dtype.

Referência rápida

from chdb.datastore.config import config

# Predefinições de configuração rápida
config.enable_debug()           # Ativar logging detalhado
config.use_chdb()               # Forçar mecanismo do ClickHouse
config.use_pandas()             # Forçar mecanismo pandas
config.use_auto()               # Seleção automática de mecanismo (padrão)
config.use_performance_mode()   # SQL em primeiro lugar, throughput máximo
config.use_pandas_compat()      # Compatibilidade total com pandas (padrão)
config.enable_profiling()       # Ativar profiling de desempenho

Todas as opções de configuração

CategoriaOpçãoValoresPadrãoDescrição
Logginglog_levelDEBUG/INFO/WARNING/ERRORWARNINGNível de verbosidade do log
log_format”simple”, “verbose""simple”Formato da mensagem de log
Cachecache_enabledTrue/FalseTrueHabilitar cache de resultados
cache_ttlfloat (segundos)0.0Tempo de vida (TTL) do cache
Engineexecution_engine”auto”, “chdb”, “pandas""auto”Mecanismo de execução
cross_datastore_engine”auto”, “chdb”, “pandas""auto”Operações entre DataStores
Compatcompat_mode”pandas”, “performance""pandas”Compatibilidade com pandas vs. throughput com foco em SQL
Profilingprofiling_enabledTrue/FalseFalseHabilitar profiling
Dtypecorrection_levelNONE/CRITICAL/HIGH/MEDIUM/ALLHIGHNível de correção de dtype

Métodos de configuração

Configuração de logs

from chdb.datastore.config import config
import logging

# Definir nível de log
config.set_log_level(logging.DEBUG)
config.set_log_level(logging.INFO)
config.set_log_level(logging.WARNING)  # Padrão
config.set_log_level(logging.ERROR)

# Definir formato de log
config.set_log_format("simple")   # Padrão
config.set_log_format("verbose")  # Mais detalhes

# Ativar modo debug rapidamente
config.enable_debug()  # Define nível DEBUG + formato verbose
Consulte logging para mais detalhes.

Configuração do cache

# Habilitar/desabilitar cache
config.set_cache_enabled(True)   # Padrão
config.set_cache_enabled(False)  # Desabilitar cache

# Definir TTL do cache (time-to-live)
config.set_cache_ttl(60.0)  # Cache expira após 60 segundos
config.set_cache_ttl(0.0)   # Sem expiração (padrão)

# Verificar configurações atuais
print(config.cache_enabled)
print(config.cache_ttl)

Configuração do mecanismo

# Definir mecanismo de execução
config.set_execution_engine('auto')    # Seleção automática (padrão)
config.set_execution_engine('chdb')    # Forçar ClickHouse
config.set_execution_engine('pandas')  # Forçar pandas

# Predefinições rápidas
config.use_auto()     # Seleção automática
config.use_chdb()     # Forçar ClickHouse
config.use_pandas()   # Forçar pandas

# Mecanismo Cross-DataStore (para operações entre diferentes DataStores)
config.set_cross_datastore_engine('auto')
config.set_cross_datastore_engine('chdb')
config.set_cross_datastore_engine('pandas')

# Verificar mecanismo atual
print(config.execution_engine)
Consulte Motor de Execução para mais detalhes.

Modo de compatibilidade

# Modo de desempenho: SQL em primeiro lugar, sem sobrecarga de compatibilidade com pandas
config.use_performance_mode()
# ou: config.set_compat_mode('performance')

# Modo de compatibilidade com pandas (padrão)
config.use_pandas_compat()
# ou: config.set_compat_mode('pandas')

# Verificar o modo atual
print(config.compat_mode)  # 'pandas' ou 'performance'
Consulte Modo de Desempenho para obter mais detalhes.

Configuração de profiling

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

# Desabilitar profiling
config.set_profiling_enabled(False)

# Verificar se o profiling está habilitado
print(config.profiling_enabled)
Consulte Profiling para mais detalhes.

Correção de dtype

from chdb.datastore.dtype_correction.config import CorrectionLevel

# Definir nível de correção
config.set_correction_level(CorrectionLevel.NONE)      # Sem correção
config.set_correction_level(CorrectionLevel.CRITICAL)  # Somente tipos críticos
config.set_correction_level(CorrectionLevel.HIGH)      # Padrão
config.set_correction_level(CorrectionLevel.MEDIUM)    # Mais correções
config.set_correction_level(CorrectionLevel.ALL)       # Todas as correções

Usando o objeto config

O objeto config é um singleton que gerencia todas as configurações:
from chdb.datastore.config import config

# Ler configurações
print(config.log_level)
print(config.execution_engine)
print(config.cache_enabled)
print(config.profiling_enabled)

# Modificar configurações
config.set_log_level(logging.DEBUG)
config.set_execution_engine('chdb')
config.set_cache_enabled(False)
config.enable_profiling()

Configuração em código

Configuração por script

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

# Configure no início do script
config.enable_debug()
config.use_chdb()
config.enable_profiling()

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

Gerenciador de Context (Futuro)

# Funcionalidade planejada: configuração temporária
with config.override(execution_engine='pandas'):
    result = ds.process()
# Configurações originais restauradas

Cenários comuns de configuração

Desenvolvimento/Depuração

from chdb.datastore.config import config

config.enable_debug()        # Logging detalhado
config.enable_profiling()    # Rastreamento de desempenho
config.set_cache_enabled(False)  # Desabilita o cache para resultados atualizados

Produção

from chdb.datastore.config import config
import logging

config.set_log_level(logging.WARNING)  # Logging mínimo
config.set_execution_engine('auto')    # Seleção otimizada de mecanismo
config.set_cache_enabled(True)         # Habilitar caching
config.set_profiling_enabled(False)    # Desabilitar overhead de profiling

Throughput máxima

from chdb.datastore.config import config

config.use_performance_mode()    # SQL primeiro, sem sobrecarga do pandas
config.set_cache_enabled(False)  # Desabilitar cache para streaming

Testes de desempenho

from chdb.datastore.config import config

config.use_chdb()            # Forçar ClickHouse para benchmarks
config.enable_profiling()    # Monitorar desempenho
config.set_cache_enabled(False)  # Desabilitar cache para medição precisa de tempo

Testes de compatibilidade com o Pandas

from chdb.datastore.config import config

config.use_pandas()          # Forçar mecanismo pandas
config.enable_debug()        # Ver quais operações são utilizadas

Última modificação em 10 de junho de 2026