AWS

Amazon Aurora 병렬 쿼리(Parallel Query)

heesoohi 2025. 6. 4. 01:48

Amazon Aurora는 AWS에서 설계한 고성능 관계형 데이터베이스로, 일반적인 MySQL/PostgreSQL보다 뛰어난 확장성과 성능을 제공한다. 이 중 병렬 쿼리(Parallel Query) 기능은 대용량 데이터를 더욱 빠르게 조회하기 위한 고급 기능으로 Aurora MySQL에서 사용할 수 있다.

 

 

기본적으로 RDBMS에서는 쿼리를 처리할 때 DB 인스턴스가 스토리지에서 데이터를 읽고 필터링한 후 결과를 반환한다. 하지만 수백만 건의 데이터를 스캔해야 하는 경우, 스토리지 I/O 병목이 발생하면서 쿼리 속도가 크게 저하될 수 있다는 문제가 있다. 병렬 쿼리는 이러한 병목을 해결하기 위해, 쿼리 처리를 DB 인스턴스만이 아니라 스토리지 계층에서도 병렬로 분산시켜 처리한다.

 

병렬 쿼리의 작동 방식

   일반 쿼리   병렬 쿼리 
처리 위치 DB 인스턴스에서 모든 데이터를 읽고 필터링 스토리지 계층에서 병렬로 데이터 필터링 후, 결과만 인스턴스로 전송
처리 방식 단일 처리 병렬 처리 (샤드 단위)
장점 구현 단순 Full Table Scan 등 대규모 읽기에서 성능 극대화
 

병렬 쿼리는 다음과 같은 조건에서 가장 효율적이다

  • Full Table Scan이 포함된 쿼리
  • WHERE 조건이 존재하되 인덱스를 사용하지 않는 경우
  • 대량 집계 작업 (GROUP BY, COUNT 등)
  • 시간 기반 범위 필터 쿼리
  • ex) 
SELECT COUNT(*) FROM logs WHERE timestamp BETWEEN '2024-01-01' AND '2024-12-31';