DynamoDB와의 통합 모범 사례
DynamoDB를 다른 서비스와 통합할 때는 항상 각 서비스 사용에 대한 모범 사례를 따라야 합니다. 하지만 통합과 관련하여 고려해야 할 몇 가지 모범 사례가 있습니다.
DynamoDB에서 스냅샷 생성
-
일반적으로 초기 복제를 위한 스냅샷을 생성할 때는 Amazon S3로 내보내기를 사용하는 것이 좋습니다. 둘 다 비용 효율적이며 처리량 측면에서 애플리케이션 트래픽과 경쟁하지 않습니다. 새 테이블에 백업 및 복원한 다음 스캔 작업을 수행하는 방법도 고려해 볼 수 있습니다. 이렇게 하면 애플리케이션과의 처리량 경쟁을 피할 수 있지만 일반적으로 내보내기보다 훨씬 덜 비용 효과적입니다.
-
내보내기를 수행할 때는 항상
StartTime
을 설정하세요. 이렇게 하면 변경 데이터 캡처(CDC)를 어디서 시작할지 쉽게 결정할 수 있습니다. -
S3로 내보내기를 사용하는 경우 S3 버킷에 수명 주기 작업을 설정하세요. 일반적으로 만료 작업을 7일로 설정하는 것이 안전하지만 회사에서 지침을 제시한다면 따라야 합니다. 수집 후 명시적으로 항목을 삭제하더라도 이렇게 하면 문제를 포착하여 불필요한 비용을 줄이고 정책 위반을 예방할 수 있습니다.
DynamoDB에서의 변경 데이터 캡처
-
실시간에 가까운 CDC가 필요한 경우 DynamoDB Streams 또는 Amazon Kinesis Data Streams(KDS)를 사용하세요. 어느 것을 사용할지 결정할 때는 일반적으로 다운스트림 서비스와 함께 사용하기 가장 쉬운 방법을 고려합니다. 파티션 키 수준에서 순서대로 이벤트를 처리해야 하거나 항목이 매우 큰 경우에는 DynamoDB Streams를 사용하세요.
-
실시간에 가까운 CDC가 필요하지 않은 경우 증분 내보내기와 함께 Amazon S3로 내보내기를 사용하여 두 시점 사이에 발생한 변경 사항만 내보낼 수 있습니다.
스냅샷을 생성할 때 S3로 내보내기를 사용한 경우 유사한 코드를 사용하여 증분 내보내기를 처리할 수 있으므로 이 방법이 특히 유용할 수 있습니다. 일반적으로 S3로 내보내기가 이전 스트리밍 옵션보다 약간 저렴하지만 보통 비용은 옵션 선택의 주요 요인이 아닙니다.
-
일반적으로 DynamoDB 스트림의 동시 소비자는 두 명만 있을 수 있습니다. 통합 전략을 계획할 때 이 점을 고려하세요.
-
스캔을 사용하여 변경 사항을 감지하지 마세요. 규모가 작을 때는 효과가 있을 수 있지만 곧 실용성이 떨어집니다.