Reddit

The CPU, the Rust, and the Memory Latency

GROUP BY가 더 많은 연산을 하고도 빨라진 이유

Pivotlake는 99m행 데이터의 UserID 집계를 4096개 파티션으로 나눠 처리한 실험을 공개했습니다. 단일 코어 비교에서 메모리 대기와 DRAM 읽기가 줄었고, 재실행 시간은 약 3.6초에서 약 2.7초로 짧아졌습니다.

본문

Pivotlake는 2026년 10월 28일 블로그 글에서 GROUP BY를 4096개 파티션으로 나눠 집계하는 방식을 소개했습니다. ClickBench의 99m행을 UserID로 묶은 단일 코어 실험에서 이 방식은 더 많은 연산을 했지만 메모리 대기 비율과 DRAM 읽기를 줄였습니다.

단순 해시 집계의 재실행 시간은 약 3.6초, 파티션 집계는 약 2.7초였습니다. 글은 memory-bound 비율이 50.1%에서 23.5%로, demand DRAM 읽기가 약 4.5GB에서 약 1.5GB로 감소했다고 보고했습니다. 이 수치는 AMD EPYC 9124 서버에서 실행한 특정 쿼리의 결과입니다.

자료: Pivotlake 블로그 / 정리·해설: Trawling