> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración de DataStore

> Configure el motor de ejecución de DataStore, el logging, la caché y el perfilado

DataStore ofrece amplias opciones de configuración para la selección del motor de ejecución, el modo de compatibilidad, el logging, la caché, el perfilado y la corrección de dtype.

<div id="quick-reference">
  ## Referencia rápida
</div>

```python theme={null}
from chdb.datastore.config import config

# Quick setup presets
config.enable_debug()           # Enable verbose logging
config.use_chdb()               # Force ClickHouse engine
config.use_pandas()             # Force pandas engine
config.use_auto()               # Auto-select engine (default)
config.use_performance_mode()   # SQL-first, max throughput
config.use_pandas_compat()      # Full pandas compatibility (default)
config.enable_profiling()       # Enable performance profiling
```

<div id="all-options">
  ## Todas las opciones de configuración
</div>

| Categoría     | Opción                   | Valores                       | Predeterminado | Descripción                                                    |
| ------------- | ------------------------ | ----------------------------- | -------------- | -------------------------------------------------------------- |
| **logging**   | `log_level`              | DEBUG/INFO/WARNING/ERROR      | WARNING        | Nivel de detalle del registro                                  |
|               | `log_format`             | "simple", "verbose"           | "simple"       | Formato de los mensajes de registro                            |
| **Caché**     | `cache_enabled`          | True/False                    | True           | Habilitar la caché de resultados                               |
|               | `cache_ttl`              | float (segundos)              | 0.0            | TTL de la caché                                                |
| **Motor**     | `execution_engine`       | "auto", "chdb", "pandas"      | "auto"         | Motor de ejecución                                             |
|               | `cross_datastore_engine` | "auto", "chdb", "pandas"      | "auto"         | Operaciones entre DataStores                                   |
| **Compat**    | `compat_mode`            | "pandas", "performance"       | "pandas"       | Compatibilidad con pandas frente a rendimiento orientado a SQL |
| **Profiling** | `profiling_enabled`      | True/False                    | False          | Habilitar el perfilado                                         |
| **Dtype**     | `correction_level`       | NONE/CRITICAL/HIGH/MEDIUM/ALL | HIGH           | Nivel de corrección de Dtype                                   |

***

<div id="methods">
  ## Métodos de configuración
</div>

<div id="logging">
  ### Configuración del logging
</div>

```python theme={null}
from chdb.datastore.config import config
import logging

# Set log level
config.set_log_level(logging.DEBUG)
config.set_log_level(logging.INFO)
config.set_log_level(logging.WARNING)  # Default
config.set_log_level(logging.ERROR)

# Set log format
config.set_log_format("simple")   # Default
config.set_log_format("verbose")  # More details

# Quick enable debug mode
config.enable_debug()  # Sets DEBUG level + verbose format
```

Consulta [Logging](/docs/es/chdb/debugging/logging) para más detalles.

<div id="cache">
  ### Configuración de la caché
</div>

```python theme={null}
# Enable/disable caching
config.set_cache_enabled(True)   # Default
config.set_cache_enabled(False)  # Disable caching

# Set cache TTL (time-to-live)
config.set_cache_ttl(60.0)  # Cache expires after 60 seconds
config.set_cache_ttl(0.0)   # No expiration (default)

# Check current settings
print(config.cache_enabled)
print(config.cache_ttl)
```

<div id="engine">
  ### Configuración del motor
</div>

```python theme={null}
# Set execution engine
config.set_execution_engine('auto')    # Auto-select (default)
config.set_execution_engine('chdb')    # Force ClickHouse
config.set_execution_engine('pandas')  # Force pandas

# Quick presets
config.use_auto()     # Auto-select
config.use_chdb()     # Force ClickHouse
config.use_pandas()   # Force pandas

# Cross-DataStore engine (for operations between different DataStores)
config.set_cross_datastore_engine('auto')
config.set_cross_datastore_engine('chdb')
config.set_cross_datastore_engine('pandas')

# Check current engine
print(config.execution_engine)
```

Consulta [Motor de ejecución](/docs/es/chdb/configuration/execution-engine) para más detalles.

<div id="compat-mode">
  ### Modo de compatibilidad
</div>

```python theme={null}
# Performance mode: SQL-first, no pandas compatibility overhead
config.use_performance_mode()
# or: config.set_compat_mode('performance')

# Pandas compatibility mode (default)
config.use_pandas_compat()
# or: config.set_compat_mode('pandas')

# Check current mode
print(config.compat_mode)  # 'pandas' or 'performance'
```

Consulta [Modo de rendimiento](/docs/es/chdb/configuration/performance-mode) para más detalles.

<div id="profiling">
  ### Configuración del perfilado
</div>

```python theme={null}
# Enable profiling
config.enable_profiling()
config.set_profiling_enabled(True)

# Disable profiling
config.set_profiling_enabled(False)

# Check if profiling is enabled
print(config.profiling_enabled)
```

Consulte [perfilado](/docs/es/chdb/debugging/profiling) para obtener más detalles.

<div id="dtype">
  ### Corrección de dtype
</div>

```python theme={null}
from chdb.datastore.dtype_correction.config import CorrectionLevel

# Set correction level
config.set_correction_level(CorrectionLevel.NONE)      # No correction
config.set_correction_level(CorrectionLevel.CRITICAL)  # Critical types only
config.set_correction_level(CorrectionLevel.HIGH)      # Default
config.set_correction_level(CorrectionLevel.MEDIUM)    # More corrections
config.set_correction_level(CorrectionLevel.ALL)       # All corrections
```

***

<div id="config-object">
  ## Uso del objeto `config`
</div>

El objeto `config` es un singleton que gestiona toda la configuración:

```python theme={null}
from chdb.datastore.config import config

# Read settings
print(config.log_level)
print(config.execution_engine)
print(config.cache_enabled)
print(config.profiling_enabled)

# Modify settings
config.set_log_level(logging.DEBUG)
config.set_execution_engine('chdb')
config.set_cache_enabled(False)
config.enable_profiling()
```

***

<div id="in-code">
  ## Configuración en el código
</div>

<div id="per-script">
  ### Configuración por script
</div>

```python theme={null}
from chdb import datastore as pd
from chdb.datastore.config import config

# Configure at script start
config.enable_debug()
config.use_chdb()
config.enable_profiling()

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

<div id="context-manager">
  ### Gestor de contexto (Próximamente)
</div>

```python theme={null}
# Planned feature: temporary configuration
with config.override(execution_engine='pandas'):
    result = ds.process()
# Original settings restored
```

***

<div id="scenarios">
  ## Escenarios de configuración comunes
</div>

<div id="dev-config">
  ### Desarrollo/depuración
</div>

```python theme={null}
from chdb.datastore.config import config

config.enable_debug()        # Verbose logging
config.enable_profiling()    # Performance tracking
config.set_cache_enabled(False)  # Disable caching for fresh results
```

<div id="prod-config">
  ### Producción
</div>

```python theme={null}
from chdb.datastore.config import config
import logging

config.set_log_level(logging.WARNING)  # Minimal logging
config.set_execution_engine('auto')    # Optimal engine selection
config.set_cache_enabled(True)         # Enable caching
config.set_profiling_enabled(False)    # Disable profiling overhead
```

<div id="max-throughput-config">
  ### Máximo rendimiento
</div>

```python theme={null}
from chdb.datastore.config import config

config.use_performance_mode()    # SQL-first, no pandas overhead
config.set_cache_enabled(False)  # Disable cache for streaming
```

<div id="perf-config">
  ### Pruebas de rendimiento
</div>

```python theme={null}
from chdb.datastore.config import config

config.use_chdb()            # Force ClickHouse for benchmarks
config.enable_profiling()    # Track performance
config.set_cache_enabled(False)  # Disable cache for accurate timing
```

<div id="compat-config">
  ### Pruebas de compatibilidad con Pandas
</div>

```python theme={null}
from chdb.datastore.config import config

config.use_pandas()          # Force pandas engine
config.enable_debug()        # See what operations are used
```

***

<div id="related">
  ## Documentación relacionada
</div>

* [Motor de ejecución](/docs/es/chdb/configuration/execution-engine) - Detalles sobre la selección del motor
* [Modo de rendimiento](/docs/es/chdb/configuration/performance-mode) - Modo centrado en SQL para maximizar el rendimiento
* [Configuración de funciones](/docs/es/chdb/configuration/function-config) - Configuración del motor por función
* [logging](/docs/es/chdb/debugging/logging) - Configuración del logging
* [Perfilado](/docs/es/chdb/debugging/profiling) - Perfilado del rendimiento
