🕰️ 작성일 : 2024.10.23
1.1 DMS VS ZETL의 동작 방식 비교
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
ZeroETL로 Database Resync 시 Aurora 모니터링
Integration의 Refresh를 강제 적용하기 위해 Redshift에서 아래 명령어를 통해 Resync 작업을 진행했습니다.
ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL tables;
전체 Database에 대한 Resync 작업을 시작했음에도, Aurora 클러스터(Writer/Reader)의 리소스 모니터링 결과 별도의 리소스 사용 증가는 확인 할 수 없습니다.
Redshift 사용 시 각 사용 목적에 맞게 클러스터를 분리하여 운영하는 것이 Best-Practice 입니다. 아래의 아키텍처는 ZETL to Redshift의 기능을 사용하고 있는 온라인 의류 이커머스 회사의 아키텍처 일부입니다. Zero-ETL을 통해 데이터를 수집하는 Cluster는 Provisioned 모드로 3년 RI을 적용하면 50% 이상의 비용을 절약 할 수 있습니다.