DuckDB 비동기 I/O: 쿼리 속도 최대 3.7배 향상
Asynchronous I/O in DuckDB: Work, Thread, Work
DuckDB v2.0부터 Parquet 및 CSV 파일의 비동기 읽기를 지원합니다. 원격 스토리지(S3 등)에서 데이터를 읽을 때 동기 I/O가 네트워크 대역폭을 충분히 활용하지 못하는 문제를 해결합니다. EC2/S3 환경에서 TPC-H Q6 벤치마크 결과, 비동기 I/O 적용 시 실행 시간이 8.23초에서 2.84초로 약 3배 빨라졌고, 추가 튜닝 시 2.23초까지 단축되었습니다. 이는 읽기-미리 큐와 비동기 메모리 관리를 통해 가능해졌습니다.
동기 I/O를 사용하면 작업자 스레드가 데이터가 도착할 때까지 차단되어 디코딩, 집계 등의 실제 작업을 수행할 수 없습니다.