☁ 뭉게뭉게 클라우드/🙀 rlch가 되기 위한 기초

[AWS] ElastiCache

우주수첩 2022. 7. 7. 15:52
728x90

컴퓨터에서 데이터를 불러올 수 있는 곳은 하드디스크와 캐시가 있다.

무슨 차이가 있는데 이걸 두 개를 구분하고 그러실까 싶지만

데이터나 파일을 불러오는 속도에서 현저한 차이가 발생한다.

대용량의 프로세싱을 동시 다발적으로 처리할 경우 큰 차이가 발생한다.

그래서 뭐가 더 빠르냐고 성격 급한 한국인이 묻는다면...


# ElastiCache

 

  • 클라우드 내에서 In-memory 캐시를 만들어준다.
  • RDS DB에서 데이터를 읽어오는 것이 아니라 캐시에서 빠른 속도로 데이터를 읽어온다. 
  • Read-Heavy 어플리케이션에서 상당한 Latency의 감소를 누릴 수 있다.
    • 데이터의 양이 많은 곳에서 사용할 경우 유용하다.
    • 초반 어플리케이션 개발 및 테스트 용도로는 적합하지 않다.
  • RDS에 더욱 효율적인 어플리 케이션 퍼포먼스를 부여한다.

 

Q : Read-Heavy 데이터를 사용할 경우 어떤 서비스를 활용해야 최고의 효율을 얻을 수 있을까?

A : ElastiCache


# ElastiCache 타입 종류 

1. MemCached

2. Redis

 


# MemCached

  • Object cache system으로 잘 알려져있다.
  • ElastiCache는 Memecached를 주 프로토콜로 사용한다.
  • 🌟 데이터 처리 사용량에 따라 캐시의 크기가 자동으로 변화된다. 
    • 서버에서 요구되는 traffic이 많을 경우 서버의 퍼포먼스를 늘려주는 경우가 있다.
  • 오픈소스야 공짜임 공짜!!!!

 

- Memcached Use Case

  • 가장 단순한 캐싱 모델 필요 시
  • 주된 목적이 Object caching일 경우
    • -set이나 list 말고 
  •  캐시 크기의 자유로운 scaling을 원할 경우

# Redis

  • Key-value나 set, list같은 형태의 데이터를 in-Memory에 저장 가능하다.
  • MemCached보다 조금 더 정교한 데이터를 다룬다.
  • Multi-AZ를 지원 - 재해 복구 기능 존재.
  • 오픈소스야 공짜 공짜 free free 야호야호

 

Q : Multi-Az를 고려할 경우 어떤 Caching 기법을 사용해야 할까??

- REDIS

 

- Redis Use Case

1. object가 아닌 List, Set과 같은 데이터 셋 사용 시
2. 리더보드처럼 데이터셋의 랭킹을 정렬하는 용도 필요 시
3. Multi AZ기능 요구 시

 

 


 

저.쩔이다.

728x90