메뉴 닫기

Amazon Redshift 동시 삽입 기능으로 데이터 수집 성능 향상하기

Amazon Redshift: 동시 삽입 기능을 통한 데이터 수집 성능 향상 가이드

소개
데이터 기반 의사결정이 중요한 현대 비즈니스 환경에서 실시간 또는 준실시간 분석을 지원하는 데이터 웨어하우스의 성능은 매우 중요합니다. Amazon Redshift는 클라우드 기반의 완전 관리형 페타바이트급 데이터 웨어하우스로, 높은 처리량과 병렬 처리 기반 아키텍처를 바탕으로 대규모 데이터 분석 작업에 최적화되어 있습니다. 특히, 최근 업데이트된 'Concurrent Inserts(동시 삽입)' 기능은 단일 테이블에 대한 동시 데이터 로드 성능을 획기적으로 개선하여, 데이터 수집 효율성과 응답 시간을 크게 향상시킵니다.

핵심 내용 및 활용 사례

기존 순차 삽입 방식의 한계
Amazon Redshift는 기본적으로 Snapshot Isolation을 통해 동시성 제어를 하여 읽기 일관성을 보장합니다. 하지만 쓰기 작업(INSERT, COPY 등)은 트랜잭션 동안 독점적 락을 획득하고 유지해야 하기 때문에, 여러 건의 순수 쓰기 트랜잭션이 동시에 요청되면 순차적으로 실행되어 병목이 발생하곤 했습니다. 이러한 순차 실행은 사전 처리(스캔, 정렬, 집계) 역시 병렬 처리가 되지 않아 전체 데이터 수집에 시간 지연을 발생시킵니다.

이러한 문제를 회피하기 위해, 많은 고객은 Staging 테이블 및 ALTER TABLE APPEND 방식을 활용하여 데이터 적재를 우회적으로 처리해왔습니다. 그러나 이 방식은 스토리지 조각화, 임시 테이블 관리, 과도한 관리 오버헤드 등의 단점을 수반합니다.

동시 삽입 기능의 도입 및 효과
Amazon Redshift는 187번 패치부터 동시 삽입 기능을 도입하였습니다. 이를 통해 다수의 순수 쓰기 작업이 각자의 사전 처리(스캔, 정렬 등)를 병렬로 실행할 수 있게 되었습니다. 데이터 삽입 과정만 순차적으로 처리되며, 결과적으로 전체적인 작업 소요 시간이 대폭 줄어듭니다.

아래 이미지는 동시 삽입 이전과 이후의 처리 방식 차이를 시각화하여 보여줍니다.

동시 삽입 적용 전 순차 실행 방식의 Redshift 데이터 삽입 흐름도

동시 삽입 적용 후 병렬 사전처리 및 순차 삽입 방식의 Redshift 데이터 흐름도

사례로 두 개의 동일한 쿼리가 동시에 실행된 경우, 기존에는 각각 1시간씩 순차 실행되어 총 2시간이 소요되었습니다. 하지만 동시 삽입 기능이 적용되면 사전 처리 단계에서 병렬 실행되고, 삽입 단계에서만 순차적 실행되므로 총 1시간 10분으로 전체 시간이 50분이나 단축됩니다.

다중 웨어하우스 환경에서의 자동화된 성능 향상
동시 삽입 기능은 단일 클러스터뿐 아니라, Redshift의 데이터 공유(Data Sharing)를 통한 다중 웨어하우스 구성에서도 활용 가능합니다. 이는 여러 서버리스 작업그룹 또는 전용 클러스터에서 동일 테이블에 동시 쓰기할 수 있도록 하여, ETL 파이프라인의 확장성과 성능 예측 가능성을 높여줍니다. 다음 그래프는 실제 내부 테스트 결과를 시각화한 것입니다.

Redshift 동시 삽입 및 데이터 공유 기반 다중 웨어하우스 성능 향상 비교 그래프

성능 개선 외에도, 다음과 같은 장점을 제공합니다:

  • 사전 처리 단계의 병렬화
  • 최대 40% 향상된 전체 적재 속도
  • Staging 테이블 제거에 따른 스토리지 비용 절감
  • 테이블 조각화 감소로 인한 Vacuum 작업 최소화
  • 복잡한 수동 작업의 자동화 및 단순화

구현 및 고려사항
동시 삽입 기능은 별도의 구성 없이 자동으로 적용되므로, 어떤 설정 변경 없이도 바로 적용 가능합니다. 하지만 Snapshot Isolation 환경에서는 여전히 데드락 발생 가능성이 있으므로 다음과 같은 방안이 필요합니다:

  • UPDATE, MERGE, DELETE, DDL은 별도 트랜잭션에서 실행
  • 애플리케이션 내 리트라이 로직 구현
  • 고급 쓰기 작업 시 데드락 문서 참조 및 사례 이해 필요

결론
Amazon Redshift의 동시 삽입 기능은 단일 테이블 내 복수 트랜잭션의 쓰기 작업 성능을 획기적으로 개선할 수 있는 핵심 기능입니다. 다양한 활용도 및 자동화를 통해 고객의 분석 및 ETL 환경을 더욱 빠르고 신뢰성 있게 구성할 수 있습니다. 데이터 수집 자동화에서 고민 중이라면, 이 기능 도입을 꼭 검토해보시기 바랍니다.

https://aws.amazon.com/blogs/big-data/enhance-data-ingestion-performance-in-amazon-redshift-with-concurrent-inserts/

AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!

(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기


AI, Cloud 도입 상담 배너