728x90

 

 

[Redis / DynamoDB 비교]

특징 Redis DynamoDB
확장성 수동 설정 필요 자동 확장
설정 및 관리 복잡함 간단함
일관성 애매 일관
성능 매우 빠름 (인메모리) 빠름 (디스크)
비용 메모리 기반 사용량 기반

 

Redis와 DynamoDB를 두개 다 사용하고 있는 점에서 두가지를 비교했을때 표와 같이 나타낼 수 있습니다.

 

처음에는 Redis만 사용을 했는데 사실 메모리 기반이라 정해진 틀에서 써보고 늘리냐 줄이냐 이런식으로 진행하는 경우가 큽니다. 물론, 트래픽이 늘어나면서 redis 사용이 많아지는 경우에는 어느 정도 커버를 할 수 있다고는 하지만 매일 그렇게 발생하는게 아니면 정해진 메모리 안에서 사용하는게 득일 수도 독이 될 수도 있다고 봅니다.

 

반면, DynamoDB를 사용하는 경우에는 알아서 사용량에 따라 비용이 늘어나기 때문에 사실 그런 걱정은 안해도 되고, 달마다 계산시 비용 차로 인해 월별로 체크도 가능한 점도 용이합니다.

 

물론, 정말 사용량이 적다하면 사실 DynamoDB를 쓰고 보다 빠른 속도 / 혹은 사용량 증가에 따른 비용 비교 시 Redis가 나아보이면 분산을 시키거나 넘어가거나 해도 상관은 없다고 봅니다.

 

두개다 사용하는 부분에 있어서 확장성 하기에도 좋고 비용도 어느정도 절감하는 상태로 다양하게 사용 가능한 부분이 있는거 같습니다.

 

예를 들어서 캐싱하는 데이터가 많으면 해당 부분은 Redis에 사용하고, 단순 암호화된 정보 혹은 간단한 정보라면 DynamoDB에 넣어 분산 시키면 좋지 않을까합니다. 사실 그 값을 불러올 때 보면, Redis는 쿼리 방식이 제한적이고, 정확한 값을 물어보는게 아닌 비슷한 값을 물어보게 되면 찾느라 시간도 많이 걸립니다.

하지만, 정확한 값을 물어보면 엄청나게 빠르죠. 캐싱할때, 저장만 이름을 제대로 나눠서 하면 효과가 아주 좋습니다.

 

DynamoDB 경우, 쿼리방식이 여러개라 사용 방식에 따라 불러오기도 용이하기에 간단한 값이 많이 들어가있는 경우에는 쓰기 편하지 않을까 합니다.

 

결론! 자기 입맛대로 가성비를 찾아서 쓰면 좋을거 같습니다!

728x90

'잡다한 지식' 카테고리의 다른 글

[SQL] tinyint 타입에 대한 인덱싱 작업  (2) 2024.09.26
[SQL] WITH 쿼리  (1) 2024.09.09
[JS] await 과 promise  (0) 2024.07.26
[JS] for와 관련된 문법  (0) 2024.07.08
[Node] Dynamo DB 사용법  (0) 2024.06.20