🕰️ 작성일 : 2024.10.23

1. DMS Full Load vs ZETL Resync 비교

1.1 DMS VS ZETL의 동작 방식 비교

image.png

image.png

1.2 DMS Full-load vs ZETL Resync 시 Aurora 모니터링

해당 테스트를 위하여 약 50GB의 데이터베이스를 생성하고 테스트를 진행했습니다. 정확한 테스트 결과를 위해서는 실제 데이터를 기반으로 운영 환경에 맞게 테스트가 필요합니다. 또한 별도의 DMS Task 튜닝은 진행하지 않았습니다.

AWS DMS는 소스 데이터베이스의 리소스를 일부 사용합니다. 전체 로드 태스크 중에 AWS DMS는 소스 테이블에서 병렬로 처리되는 각 테이블에 대해 전체 테이블 스캔을 수행합니다. 출처 : https://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.ReducingLoad

image.png

image.png

전체 Database에 대한 Resync 작업을 시작했음에도, Aurora 클러스터(Writer/Reader)의 리소스 모니터링 결과 별도의 리소스 사용 증가는 확인 할 수 없습니다.

image.png

image.png

2. Redshift 사용시 Pub/Sub 아키텍처

Redshift 사용 시 각 사용 목적에 맞게 클러스터를 분리하여 운영하는 것이 Best-Practice 입니다. 아래의 아키텍처는 ZETL to Redshift의 기능을 사용하고 있는 온라인 의류 이커머스 회사의 아키텍처 일부입니다. Zero-ETL을 통해 데이터를 수집하는 Cluster는 Provisioned 모드로 3년 RI을 적용하면 50% 이상의 비용을 절약 할 수 있습니다.