본문 바로가기
Redis

local cache vs global cache

by 대우니 2024. 3. 30.
728x90
반응형

캐시란

자주 사용되지만 업데이트는 없는 데이터의 경우, 매번 메인 DB에서 가져오는 것보다는 key value로 이루어진 캐시 메모리에서 조회해오는 것이 속도가 빠르다. 인덱싱이 되지 않은 조인을 통한 쿼리 응답 데이터를 키 value로 캐싱하게 되면 성능 상의 이점이 있다.

캐시에 적합한 데이터

  • 자주 사용되는 데이터
  • 입력에 대해 출력이 항상 동일한 데이터
  • 업데이트가 캐시 기간동안 일어나지 않는 데이터

local과 global 차이

local cache

  • 서버마다 캐시를 저장한다.
  • 서버 내에서 작동하기에 속도가 빠르다.
  • 다른 서버의 캐시를 참조하기 어렵다.
    • 참조하기 위해서는 개발자가 직접 API를 만들어야 함.
  • was 인스턴스의 resource를 사용(memory, disk)
  • 외부에서 참조하기가 힘들기 때문에 인스턴스가 여러 개인 경우 캐싱된 데이터의 원본 데이터가 바뀌면 정합성을 보장하지 못한다.

global cache

  • 서비스 확장으로 WAS 인스턴스가 늘어나고, cache 데이터 크기가 커질 수록 효과적이다.
  • 네트워크 비용발생으로 로컬 캐시보다는 느리다.
  • 데이터를 분산하여 저장 할 수 있다.
    • Replication: 두 개의 이상의 DBMS 시스템을 Mater / Slave 로 나눠서 동일한 데이터를 저장하는 방식
    • Sharding: 같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법
반응형