Improving Parquet Dedupe on Hugging Face Hub

Hugging Face está optimizando su arquitectura de almacenamiento para gestionar la escala masiva de los conjuntos de datos alojados en su Hub, donde los archivos Parquet consumen recursos de almacenamiento significativos. El principal desafío radica en gestionar eficientemente las actualizaciones incrementales de los conjuntos de datos, ya que los métodos actuales a menudo requieren volver a cargar instantáneas completas. Al implementar una deduplicación de datos efectiva, el equipo tiene como objetivo almacenar todas las versiones de los conjuntos de datos de manera compacta, asegurando que el uso del espacio crezca mínimamente incluso a medida que los conjuntos de datos evolucionan, reduciendo así los costos de almacenamiento y mejorando la experiencia del usuario. Los experimentos revelan que, aunque agregar filas a archivos Parquet deduplica eficazmente, modificar o eliminar filas desencadena reescrituras generalizadas debido a los desplazamientos absolutos de los archivos en los encabezados de las columnas y a las estructuras rígidas de los grupos de filas. Esto resulta en tasas de deduplicación significativamente más bajas para las actualizaciones, ya que los cambios menores obligan a reescribir la metadatos estructurales. Los hallazgos destacan una tensión crítica entre la compresión agresiva y la versionificación eficiente, ya que desactivar la compresión mejora la deduplicación pero aumenta drásticamente el tamaño de los archivos, creando un cuello de botella para la gestión escalable de datos. La solución propuesta implica adoptar la fragmentación definida por contenido a nivel de grupo de filas, dividiendo los grupos basándose en hashes de datos en lugar de conteos fijos. Este enfoque permite que el formato permanezca independiente de la posición, habilitando una deduplicación eficiente incluso después de eliminar o modificar filas sin sacrificar la compresión. Implementar esto requiere cambios mínimos en los escritores de Parquet y representa un paso significativo hacia adelante para la infraestructura de datos abiertos, promoviendo estándares de almacenamiento de datos más sostenibles, eficientes y colaborativos dentro del ecosistema Apache Arrow.

Source: huggingface.co
Published on 2024-10-09