본문 바로가기
츄Log/기타 끄적

Side Cache / Transparent Cache

by 츄츄🦭 2024. 1. 4.
728x90

 

캐시에 대해 공부하다가 Side Cache, Transparent Cache 키워드를 보았습니다. 

이 두가지 키워드를 알아보겠습니다.

 

출처 : scylladb.com

Side Cache

전통적인 external cache의 형태를 뜻합니다.

캐시는 데이터베이스와 독립적으로 구성되어 있고, 애플리케이션 개발자가 캐시와 데이터베이스간 처리를 핸들링해야 합니다.

(ex. 캐시의 일관성을 유지한다든지, write시에 캐시와 데이터베이스 모두에 쓴다든지..)

읽기는 캐시에서 수행되며 데이터가 miss되면 별도의 읽기를 데이터베이스에 전달해야 합니다.

 

Transparent Cache

위에 설명한 Side Cache의 단점인 애플리케이션 개발자의 부담을 어느정도 해소한 모델입니다.

단일 데이터베이스 쿼리만 실행하면 됩니다. 애플리케이션에서 핸들링이 필요하지 않으며 자동으로 일관성이 유지됩니다. 

Amazon DAX(DynamoDB Accelerator)가 해당 솔루션입니다.

 


 

안그래도 external cache를 사용하는 목적은 보다 빠른 데이터 딜리버리인데, 이 캐시 시스템을 적용하기 위해 해줘야할 것들이 꽤 있었습니다.

storage가 하나 더 생기는 것이니 dirty 방지를 위한 일관성 유지는 필수이고, cache miss시 처리를 제대로 하지 않으면 의도치 않은 결과들이 나타나기도 합니다.

transparent cache 모델은 이런 잡다한 고민들로부터 개발자를 자유롭게 해주고, 캐시를 사용하는 목적을 빠르게 달성할 수 있게 도와줄 수 있겠습니다. 

 


 

관련 : https://chupin-tech.tistory.com/66

 

캐시란? 캐시에 대하여

캐시는 일정 기간동안 임시로 데이터 하위집합을 저장하기 위한 fast data storage layer입니다. 캐시는 어디에나 존재합니다. 하드웨어 캐시(ex. L1, L2), 페이지 캐시, 데이터베이스 캐시, API캐시, DNS캐

chupin-tech.tistory.com

 

728x90