AWS DMS란

<aside> 🚡 데이터베이스 및 분석 워크로드를 AWS로 빠르고 안전하게 이동하여 가동 중단 시간 및 데이터 손실을 방지하는 데 도움이 되는 관리형 마이그레이션 및 복제 서비스

</aside>

<aside> 💡

제약사항 : 엔드포인트 중 하나가 AWS 서비스에 있어야 함

</aside>

AWS DMS에서 제공하는 3가지 복제 작업 유형

https://aws.amazon.com/ko/blogs/database/understand-and-optimize-replication-for-amazon-redshift-with-aws-dms/

  1. 기존 데이터 마이그레이션 (Full Load)

    기존의 모든 데이터를 한 번에 일괄적으로 이전하는 작업

  2. 변경 데이터 캡처 (CDC, Change Data Capture)

    데이터베이스에서 발생하는 변경 사항만을 실시간으로 캡처하여 복제하는 작업

  3. 전체 데이터 마이그레이션 + 변경 데이터 캡처 (Full Load + CDC) ← 저희가 사용하는 유형

    초기에는 전체 데이터를 이전한 후, 그 이후에 발생하는 변경 사항을 실시간으로 반영하는 작업

데이터 복제 과정

  1. Source DB에서 데이터 읽고 각 테이블별로 csv 파일 생성.
  2. AWS SDK 써서 S3로 csv 파일 전송.
  3. COPY 명령어 사용해서 AWS Redshift로 전송. (이 때 AWS DMS는 batch optimized apply 옵션 사용)

Batch Optimized Apply

AWS DMS Batch Optimized Apply는 변경 데이터를 배치로 묶어 대상 데이터베이스에 적용하는 방식