1 Amazon DynamoDB Accelerator (DAX)
- Amazon DynamoDB Accelerator (DAX)는 Amazon DynamoDB를 위한 완전관리형 고가용성 인메모리 캐시입니다.
- DAX는 DynamoDB의 읽기 성능을 최대 10배까지 향상시킬 수 있으며, 초당 수백만 건의 요청을 처리할 수 있습니다.
- DAX는 캐싱을 통해 읽기 병목 문제를 해결합니다.
- 캐시된 데이터에 대해 마이크로초 단위의 지연 시간을 제공합니다.
- 애플리케이션 로직 수정이 필요 없으며, 기존 DynamoDB API와 호환됩니다.
- 캐시의 기본 TTL(Time To Live)은 5분입니다.
- DAX (DynamoDB Accelerator)는 DynamoDB의 읽기 작업을 주로 캐싱합니다.
- 구체적으로 다음과 같은 항목들을 캐싱합니다
- 개별 항목 읽기 결과: GetItem, BatchGetItem 등의 API 호출 결과를 캐싱합니다.
- 쿼리 결과: Query API 호출의 결과를 캐싱합니 다.
- 스캔 결과: Scan API 호출의 결과를 캐싱합니다.
2 DAX의 주요 특징
- 완전관리형: AWS가 DAX 클러스터의 모든 관리 작업을 수행하므로, 사용자는 애플리케이션 개발에만 집중할 수 있습니다.
- 고가용성: 여러 가용 영역에 걸쳐 DAX 노드를 배포하여 고가용성을 제공합니다.
- 일관성: DAX는 DynamoDB의 최종적 일관된 읽기 및 강력한 일관된 읽기 모델을 모두 지원합니다.
- 암호화: 저장 데이터 및 전송 중인 데이터에 대한 암호화를 제공합니다.
- 확장성: 수요에 따라 DAX 클러스터를 쉽게 확장할 수 있습니다.
3 DAX의 작동 방식
- DAX는 DynamoDB 테이블의 앞에 위치하는 인메모리 캐시로 작동합니다.
- 애플리케이션이 데이터를 요청하면, DAX는 먼저 자체 캐시를 확인합니다.
- 캐시에 데이터가 있으면 (캐시 히트), DAX는 즉시 데이터를 반환합니다.
- 캐시에 데이터가 없으면 (캐시 미스), DAX는 DynamoDB에서 데이터를 가져와 캐시에 저장한 후 애플리케이션에 반환합니다.
4 DAX의 사용 사례