DuckDB prepara una nueva arquitectura de entrada/salida asíncrona que estará disponible por defecto en su versión 2.0, prevista para otoño de 2026. La funcionalidad ya puede probarse en las compilaciones preliminares v2.0.0-dev y se aplica, por ahora, a la lectura de archivos Parquet y CSV en UTF-8 sin comprimir y con acceso aleatorio; otros formatos como el nativo de DuckDB o JSON quedan pendientes.
El objetivo es reducir los tiempos muertos cuando DuckDB opera sobre almacenamiento remoto, una práctica cada vez más habitual en arquitecturas de tipo data lake en las que los datos residen en servicios de objetos como S3 y se procesan en instancias EC2 de la misma región. En esos entornos, los hilos de trabajo pueden pasar la mayor parte del tiempo bloqueados a la espera de respuestas HTTP, sin llegar a saturar el ancho de banda disponible.
La solución se apoya en dos grupos de hilos diferenciados: uno REGULAR, con tantos hilos como CPUs, dedicado al trabajo real (decodificación, joins, agregaciones), y otro ASYNC, mucho más numeroso —por defecto cuatro veces los hilos del sistema, con un tope de 256— pensado para tareas bloqueantes de E/S. Además, se introduce una cola de read-ahead que adelanta la emisión de peticiones de lectura y un sistema de gobernanza asíncrona de memoria que evita acumulaciones excesivas cuando la decodificación va más despacio que la red. En conjunto, la estrategia busca mantener ocupados los hilos asíncronos para ocultar la latencia del almacenamiento remoto.
