DevOps BootCamp/데이터베이스

캐싱

cloudmaster 2023. 3. 29. 11:20

동일 데이터의 잦은 조회에 따른 문제를 해결하기 위한 방법

 

★ 캐시

 > 임시로 복제된 데이터를 저장하는 장소

 > 사용자가 더 효율적이고 빠르게 원하는 데이터에 접근할 수 있도록 하기 위해 설정

 > 원본 데이터베이스가 제공할 수 있는 것보다 짧은 대기 시간을 제공

 > 웹 애플리케이션의 성능을 향상시킬 수 있으며, 데이터베이스의 비용을 절감

 

캐시 장점

 > 성능향상

  > 기본적으로 속도 보다는 데이터의 저장과 안정성에 초점을 맞추게 됨

  > 저장의 기능보다는 정보를 제공하는 처리 속도에 더 집중

 

 > 비용감소

  > 원본 데이터베이스에 대한 쿼리 수를 줄이고, 데이터베이스 자체를 스케일링할 필요성을 낮추면, 성능 향상과 더불어 비용을 절감하는 효과

 

★ 캐시 타입

 > Cache-aside

 : 웹 애플리케이션에서는 읽기 작업량이 많음, 이 경우에 애플리케이션을 설계할 때 캐시 보관 패턴을 사용

  애플리케이션은 우선적으로 캐시에서 원하는 데이터를 검색

   > 데이터가 캐시에 존재하지 않는다면 데이터베이스에 직접 연결하도록 코드를 구성

   > 데이터베이스에서 직접 데이터를 확보했다면 애플리케이션은 해당 데이터를 캐시에 복사

 

> Read-through/Write-through Cache

: 모두 데이터베이스와 일렬로 배치되며, 애플리케이션은 뒤에 있는 데이터베이스가 아닌 캐시를 주 데이터 저장소처럼 취급

> 읽기처리가 많은 워크로드에 적합한 캐시 방법

 

> Write-behind/write-back Cache

: 애플리케이션은 일단 캐시에 데이터를 저장합니다. 그 후 캐시가 백그라운드에서 비동기적인 방식으로 데이터베이스에 데이터를 기록

> 쓰기처리가 많은 워크로드에 적합한 캐시 방법

> 애플리케이션은 데이터베이스에 쓰기가 완료되는 것을 기다릴 필요 없이 다음 작업을 진행

 

'DevOps BootCamp > 데이터베이스' 카테고리의 다른 글

스트림 처리  (0) 2023.03.29
캐싱  (0) 2023.03.29
파티셔닝  (0) 2023.03.29
레플리카  (0) 2023.03.29
낮은 검색 성능 - 인덱싱  (0) 2023.03.29