[CS] 웹 서비스에서 캐시
Computer Science

[CS] 웹 서비스에서 캐시

반응형

 

유튜브 영상에서 정말 설명을 잘해주셔서 처음 접하는 내용이면, 글 읽는거보다 훨씬 나은거 같습니다 링크는 글 아래에 있습니다.

처음에는 램과 비슷한 개념이라고 생각했지만 미묘하게 다른것을 알게 되었습니다.

 

1. 캐시?

많은 시간이나 연산이 필요한 작업의 결과를 저장해두는 것을 의미합니다. (데이터나 값을 미리 복사해 놓는 임시 장소)
컴퓨팅에서 캐시는 일반적으로 일시적인(temporarily) 데이터를 저장하기 위한 목적으로 존재하는 고속의 데이터 저장공간입니다. 첫 작업 이후에 이 데이터에 대한 요청이 있을 경우, 데이터의 기본 저장공간에 접근할 때보다 더 빠르게 요청을 처리할 수 있습니다. 캐싱을 사용하면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있습니다.

 

 

 

 

2. 캐시의 일반적인 작동원리

캐시의 데이터는 일반적으로 RAM(Random Access Memory)과 같이 빠르게 액세스할 수 있는 하드웨어에 저장되며, 소프트웨어 구성 요소와 함께 사용될 수도 있습니다. 캐시는 기본 스토리지 계층(SSD, HDD)에 액세스하여 데이터를 가져오는 더 느린 작업의 요구를 줄이고, 데이터 검색의 성능을 높입니다.

속도를 위해 용량을 절충하는 캐시는 일반적으로 데이터의 하위 집합을 일시적으로 저장합니다. 완전하고 영구적인 데이터가 있는 데이터베이스와는 대조적입니다.

 

3. 캐시의 장점은 무엇인가요?

  • 애플리케이션 성능 개선
  • 데이터베이스 비용 절감
  • 백엔드 부하 감소
  • 예측 가능한 성능
  • 데이터베이스 핫스팟 제거
  • 읽기 처리량 증가(읽기 처리량: IOPS; Input/output operations per second. HDD, SSD 등의 컴퓨터 저장 장치의 성능 측정 단위)

 

4. 웹서비스에서 캐시가 적용되는 예제

  • 클라이언트: HTTP 캐시 헤더, 브라우저
  • 네트워크: DNS 서버, HTTP 캐시 헤더, CDN, 리버스 프록시
  • 서버 및 데이터베이스: 키-값 데이터 스토어(e.g. Redis), 로컬 캐시(인-메모리, 디스크)

 

유튜브 영상

https://youtu.be/Lp5ARfO9RRg

Reference

https://aws.amazon.com/ko/caching/

반응형