ElastiCache
RDS를 관계형 데이터베이스에 사용했던 것 처럼
ElastiCache를 사용하여 Redis 혹은 Memcached를 사용할 수 있다.
높은 성능과 짧은 지연시간을 자랑하는 인메모리 데이터베이스이다.
ElastiCache는 읽기 중심의 워크로드의 데이터베이스로부터 워크로드를 줄일 때 용이하게 쓰인다.
RDS에서 많은 쿼리 작업을 수행을 하는데 항상 동일한 쿼리를 다루게 되면
RDS에 막대한 부하가 발생한다.
대신에 캐시를 사용하면 ElastiCache를 통해 인메모리DB로
캐시가 직접 전송되도록 하여 RDS의 부하를 줄일 수 있다.
또한 이는 관리형 데이터베이스로
AWS가 모든 OS유지보수와 패치, 최적화, 구성, 모니터링 장애 회복 백업을 담당한다.
캐시에 대한 솔루션 아키텍처는 위 예시에서 볼 수 있다.
EC2 인스턴스에서 RDS로 부터 데이터를 읽고 쓰게 되는데
속도가 느릴 것이다.
그리고 가능한 경우에 일부 값을 AWS ElastiCache에 캐싱 처리하도록하면
이 작업은 인메모리에서 이루어지므로 속도가 빠르다.
DynamoDB
DynamoDB는 완전 관리형 고가용성 데이터베이스로
3개의 AZ에 걸쳐 복제본을 두고 운영된다.
NoSQL 데이터베이스이므로 비관계형 데이터베이스이다.
막대한 작업량도 소화할 수 있고
분산된 서버리스 데이터 베이스이다.
그래서 RDS나 ElastiCache를 이용해서 서버에 프로비저닝 할 필요가 없다.
그래서 서버리스 DB라고도 불린다.(백엔드에 서버가 있겠지만 우리 눈에는 보이지않음)
DynamoDB는 초당 수백만 건의 요청 조 단위가 넘는 행 수백 테라바이트 스토리지까지 확장해도
신속하고 한결같은 성능을 보여준다.
따라서 검색 지연시간이 한 자릿수 밀리초인 성능을 필요로 할 경우에는 DynamoDB가 적합한 데이터베이스일 것이다.
DynamoDB Accelerator - DAX
DynamoDB Accelerator 혹은 DAX라고도 하는데
이는 DynamoDB를 위한 완전 관리형 인메모리 캐시이다.
ElastiCache와는 달리 DynamoDB 전용 캐시이며
ElastiCache도 사용이 가능은하지만
DAX가 성능이 10배는 더 빠르기 때문에 DAX를 사용하는게 좋다.
'IT > AWS' 카테고리의 다른 글
Amazon Elastic Transcoder (0) | 2023.03.08 |
---|---|
AWS KMS (Key Management Service) (0) | 2023.03.08 |
AWS RDS & Aurora (0) | 2023.03.07 |
AWS Trusted Advisor (1) | 2023.03.06 |
AWS ECS vs Fargate (0) | 2023.03.06 |