본문 바로가기
IT/AWS

AWS ElastiCache & DynamoDB

by 노오-력 2023. 3. 7.

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