El particionado es una técnica de organización de datos que divide grandes conjuntos de datos en partes más pequeñas y manejables basadas en una o más columnas.
Ventajas:
Ejemplo en Parquet: partition_by=['año', 'mes'] organizará los archivos en una estructura jerárquica:
/data
/año=2023
/mes=01
part-0.parquet
/mes=02
part-0.parquet
/año=2024
/mes=01
part-0.parquet
A diferencia del particionado, los índices son estructuras de datos adicionales que mejoran la velocidad de recuperación de datos.
El bucketing es una técnica que agrupa datos en "cubos" basados en el hash de una columna.
Técnica | Mejor para | Casos de uso |
---|---|---|
Particionado | Filtrado por rangos grandes | Datos históricos, análisis por período |
Indexación | Búsquedas específicas | Consultas puntuales, OLTP |
Bucketing | Joins y agregaciones | Análisis que requieren joins frecuentes |
Es importante notar que estas técnicas no son mutuamente excluyentes y a menudo se utilizan en combinación para obtener el mejor rendimiento posible según el caso de uso específico.