Apache Parquet ha integrado la codificación de punto flotante sin pérdidas adaptativa (ALP), una nueva técnica de compresión diseñada para valores decimales almacenados como tipos de punto flotante (FLOAT y DOUBLE). Esta adición ofrece una relación de compresión similar a la del algoritmo zstd, pero con una descompresión significativamente más rápida, soporte para acceso aleatorio y optimización para hardware de GPU y SIMD. El formato ALP es particularmente eficaz para datos como precios monetarios, coordenadas geográficas y mediciones científicas, donde los valores suelen tener un rango de exponentes limitado. A diferencia de la codificación existente BYTE_STREAM_SPLIT, ALP resuelve las limitaciones de velocidad de descompresión y acceso aleatorio al almacenar los valores en vectores de enteros compactados, eliminando la dependencia de secuencias de datos. Las pruebas realizadas en implementaciones pre-release de Rust y C++ indican que ALP es hasta 10 veces más rápida en la descompresión y permite recuperar valores individuales miles de veces más rápido que las combinaciones tradicionales de PLAIN o BYTE_STREAM_SPLIT seguidas de compresión ZSTD. Aunque la relación de compresión es ligeramente inferior a la de la compresión pesada, la mejora en el rendimiento de acceso a los datos la hace atractiva para aplicaciones que priorizan la velocidad de lectura sobre la máxima compresión. La especificación técnica detalla cómo ALP selecciona exponentes y factores para minimizar el espacio ocupado y cómo gestiona excepciones para valores que no pueden representarse exactamente en el punto flotante estándar IEEE 754.
