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';
'AWS' 카테고리의 다른 글
Auto Scaling 그룹의 휴지 기간(Cooldown) (1) | 2025.06.06 |
---|---|
AWS DataSync: 온프레미스 데이터를 클라우드로 이전 (1) | 2025.06.05 |
Amazon Aurora의 엔드포인트 및 리더 엔드포인트 기반 로드밸런싱 (0) | 2025.06.03 |
Amazon EBS 볼륨 타입 정리 (0) | 2025.06.02 |
DNS 레코드와 별칭(Alias) (0) | 2025.06.01 |