Cache

    캐시 전략 (Cache Strategy) 종류

    캐시 전략 (Cache Strategy) 종류

    캐싱은 시스템 성능을 높이는 방법 중 하나이다. 캐시를 통해 데이터베이스 부하를 줄이고 빠른 응답속도를 가져올 수 있다. 캐싱을 하는 방법과 종류가 다양한데, 데이터의 유형마다 이를 달리하여 적절한 캐시 방식을 구현하는 것이 좋다. 먼저 두가지의 읽기 정책을 알아보자. 1. Cache-Aside 동작방식 읽기 요청이 들어오면, 애플리케이션이 캐시에 해당 데이터가 있는지 확인한다. 캐시가 있는 경우, Cache Hit이 일어나고 조회가 끝난다. 캐시가 없는 경우, Cache Miss가 일어나고 DB에 조회를 한다. 애플리케이션이 DB에서 데이터를 가져온 후 캐시에 직접 저장한다. (주체가 애플리케이션) 해당 방식을 사용하게 되면, 캐시서버가 죽어도 애플리케이션이 직접 DB에 접근하기 때문에 캐시오류에 탄력..

    [시스템 설계] 서버 응답시간(latency) 개선 (캐시, CDN)

    [시스템 설계] 서버 응답시간(latency) 개선 (캐시, CDN)

    서버 응답시간은 캐시를 붙이고, 정적 컨텐츠를 CDN으로 캐싱하여 개선할 수 있다. 캐시 캐시는 자주 참조되는 데이터를 캐시 서버에 임시 저장하여 요청이 빨리 처리될 수 있도록 하는 저장소이다. 캐시를 사용하면 DB의 부하가 줄어들어 어플리케이션 성능을 향상시킬 수 있다. 다만 캐시 사용시 아래 사항을 고려해야 한다. 캐시 만료 정책: 너무 짧으면 DB에 자주 접근하게 되고, 너무 길면 데이터가 원본가 차이 날 수 있다. 캐시는 TTL(Time To Live)에 명시된 기간동안 캐싱된다. 일관성 유지: 데이터의 원본과 캐시 사본은 같아야 한다. 저장소의 원본을 갱신하는 연산과, 캐시 업데이트 연산이 동시에 일어나지 않으면 이 일관성은 깨질 수 있다. 캐시 서버 분산: 캐시서버를 한대만 두면 Single ..