Skip to main content
DataStore puede ejecutar operaciones con distintos backends. Esta guía explica cómo configurar y optimizar la selección del motor.

Motores disponibles

Configurar el motor

Configuración global

Comprobar el motor actual


Auto Mode

En el modo auto (por defecto), DataStore selecciona el motor óptimo para cada operación:

Operaciones ejecutadas en chDB

  • Filtrado compatible con SQL (filter(), where())
  • Selección de columnas (select())
  • Ordenación (sort(), orderby())
  • Agrupación y agregación (groupby().agg())
  • Uniones (join(), merge())
  • Eliminación de duplicados (distinct(), drop_duplicates())
  • Limitación de resultados (limit(), head(), tail())

Operaciones ejecutadas en pandas

  • Funciones apply personalizadas (apply(custom_func))
  • Tablas dinámicas complejas con agregaciones personalizadas
  • Operaciones que no se pueden expresar en SQL
  • Cuando la entrada ya es un pandas DataFrame

Ejemplo


Modo chDB

Obliga a que todas las operaciones pasen por ClickHouse SQL:

Cuándo usar

  • Procesamiento de grandes conjuntos de datos (millones de filas)
  • Cargas de trabajo con agregaciones intensivas
  • Cuando se busca la máxima optimización de SQL
  • Comportamiento coherente en todas las operaciones

Características de rendimiento

Limitaciones

  • Es posible que no se admitan funciones personalizadas en Python
  • Algunas funciones específicas de pandas requieren conversión

Modo pandas

Forzar todas las operaciones mediante pandas:

Cuándo usar

  • Pruebas de compatibilidad con pandas
  • Uso de funciones específicas de pandas
  • Depuración de problemas relacionados con pandas
  • Cuando los datos ya están en formato pandas

Características de rendimiento


Motor entre DataStores

Configure el motor para las operaciones que combinan columnas de distintos DataStores:

Ejemplo


Lógica de selección del motor

Árbol de decisión de Auto Mode

Sobrescritura a nivel de función

Algunas funciones pueden tener el motor configurado explícitamente:
Consulta Configuración de funciones para más información.

Comparación de rendimiento

Resultados del benchmark con 10M de filas: Conclusiones clave:
  • chDB destaca en las agregaciones y los pipelines complejos
  • pandas es ligeramente más rápido en operaciones simples aisladas
  • Usa el modo auto para aprovechar lo mejor de ambos

Buenas prácticas

1. Comienza con Auto Mode

2. Analiza el rendimiento antes de forzar

3. Forzar el uso del motor para cargas de trabajo específicas

4. Usa explain() para comprender la ejecución


Solución de problemas

Problema: La operación es más lenta de lo esperado

Problema: Operación no admitida en modo chdb

Problema: problemas de memoria con grandes volúmenes de datos

Modo de rendimientoSi ejecuta cargas de trabajo intensivas de agregación y no necesita compatibilidad exacta con la salida de pandas (orden de las filas, MultiIndex, correcciones de dtype), considere usar Modo de rendimiento. Configura automáticamente el motor como chdb y elimina toda la sobrecarga de compatibilidad con pandas.
Última modificación el 23 de julio de 2026