Características principales
- Compatibilidad con pandas: 209 métodos de DataFrame de pandas, 56 métodos
.str, 42+ métodos.dt - Optimización de SQL: Las operaciones se convierten automáticamente en consultas SQL optimizadas
- Evaluación diferida: Las operaciones se posponen hasta que se necesitan los resultados
- Más de 630 métodos de API: Una API completa para la manipulación de datos
- Extensiones de ClickHouse: Accesores adicionales (
.arr,.json,.url,.ip,.geo) no disponibles en pandas
Arquitectura
- Cadena de operaciones diferidas: las operaciones se registran; no se ejecutan de inmediato
- Selección inteligente del motor: QueryPlanner dirige cada segmento al motor óptimo (chDB para SQL, Pandas para operaciones complejas)
- Almacenamiento en caché intermedio: los resultados se almacenan en caché en cada paso para agilizar la exploración iterativa
Migración desde Pandas en una sola línea
Comparación de rendimiento
| Operación | Pandas | DataStore | Mejora |
|---|---|---|---|
| Recuento con GroupBy | 347ms | 17ms | 19.93x |
| Pipeline complejo | 2,047ms | 380ms | 5.39x |
| Filter+Sort+Head | 1,537ms | 350ms | 4.40x |
| Agregación con GroupBy | 406ms | 141ms | 2.88x |
Cuándo usar DataStore
- Trabajas con conjuntos de datos grandes (millones de filas)
- Realizas agregaciones y operaciones de agrupación (
groupby) - Consultas datos desde archivos, bases de datos o almacenamiento en la nube
- Creas canalizaciones de datos complejas
- Quieres la API de pandas con mejor rendimiento
- Prefieres escribir SQL directamente
- Necesitas un control detallado sobre la ejecución de consultas
- Trabajas con funcionalidades específicas de ClickHouse que no están expuestas en la API de pandas
Comparación de funcionalidades
| Característica | Pandas | Polars | DuckDB | DataStore |
|---|---|---|---|---|
| Compatible con la API de Pandas | - | Parcial | No | Completa |
| Evaluación diferida | No | Sí | Sí | Sí |
| Compatibilidad con consultas SQL | No | Sí | Sí | Sí |
| Funciones de ClickHouse | No | No | No | Sí |
| Accesores de String/DateTime | Sí | Sí | No | Sí + extras |
| Array/JSON/URL/IP/Geo | No | Parcial | No | Sí |
| Consultas directas sobre archivos | No | Sí | Sí | Sí |
| Compatibilidad con almacenamiento en la nube | No | Limitado | Sí | Sí |
Estadísticas de la API
| Categoría | Cantidad | Cobertura |
|---|---|---|
| Métodos de DataFrame | 209 | 100% de pandas |
Accesor str de Series | 56 | 100% de pandas |
Accesor dt de Series | 42+ | 100%+ (incluye funciones adicionales de ClickHouse) |
Accesor arr de Series | 37 | específico de ClickHouse |
Accesor json de Series | 13 | específico de ClickHouse |
Accesor url de Series | 15 | específico de ClickHouse |
Accesor ip de Series | 9 | específico de ClickHouse |
Accesor geo de Series | 14 | específico de ClickHouse |
| Total de métodos de la API | 630+ | - |
Primeros pasos
- Inicio rápido - Instalación y uso básico
- Migración desde Pandas - Guía de migración paso a paso
Referencia de la API
- Métodos de fábrica - Crear DataStore a partir de diversas fuentes
- Construcción de consultas - Operaciones de consulta de estilo SQL
- Compatibilidad con pandas - Los 209 métodos compatibles con pandas
- Accesores - Accesores de String, DateTime, Array, JSON, URL, IP y Geo
- Agregación - Funciones de agregación y de ventana
- Operaciones de E/S - Lectura y escritura de datos
Temas avanzados
- Modelo de ejecución - Evaluación diferida y almacenamiento en caché
- Referencia de clases - Referencia completa de la API
Configuración y depuración
- Configuración - Todas las opciones de configuración
- Modo de rendimiento - Modo centrado en SQL para un rendimiento máximo
- Depuración - Explain, profiling y logging
Guías de usuario de Pandas
- Pandas Cookbook - Patrones comunes
- Diferencias clave - Diferencias importantes respecto a pandas
- Guía de rendimiento - Consejos de optimización
- SQL para usuarios de Pandas - Comprender el SQL detrás de las operaciones de pandas
Ejemplo rápido
Siguientes pasos
- ¿Es la primera vez que usas DataStore? Empieza con la Guía de inicio rápido
- ¿Vienes de pandas? Lee la Guía de migración
- ¿Quieres saber más? Consulta la Referencia de la API