동일 데이터의 잦은 조회에 따른 문제를 해결하기 위한 방법
★ 캐시
> 임시로 복제된 데이터를 저장하는 장소
> 사용자가 더 효율적이고 빠르게 원하는 데이터에 접근할 수 있도록 하기 위해 설정
> 원본 데이터베이스가 제공할 수 있는 것보다 짧은 대기 시간을 제공
> 웹 애플리케이션의 성능을 향상시킬 수 있으며, 데이터베이스의 비용을 절감
캐시 장점
> 성능향상
> 기본적으로 속도 보다는 데이터의 저장과 안정성에 초점을 맞추게 됨
> 저장의 기능보다는 정보를 제공하는 처리 속도에 더 집중
> 비용감소
> 원본 데이터베이스에 대한 쿼리 수를 줄이고, 데이터베이스 자체를 스케일링할 필요성을 낮추면, 성능 향상과 더불어 비용을 절감하는 효과
★ 캐시 타입
> Cache-aside
: 웹 애플리케이션에서는 읽기 작업량이 많음, 이 경우에 애플리케이션을 설계할 때 캐시 보관 패턴을 사용
애플리케이션은 우선적으로 캐시에서 원하는 데이터를 검색
> 데이터가 캐시에 존재하지 않는다면 데이터베이스에 직접 연결하도록 코드를 구성
> 데이터베이스에서 직접 데이터를 확보했다면 애플리케이션은 해당 데이터를 캐시에 복사
> Read-through/Write-through Cache
: 모두 데이터베이스와 일렬로 배치되며, 애플리케이션은 뒤에 있는 데이터베이스가 아닌 캐시를 주 데이터 저장소처럼 취급
> 읽기처리가 많은 워크로드에 적합한 캐시 방법
> Write-behind/write-back Cache
: 애플리케이션은 일단 캐시에 데이터를 저장합니다. 그 후 캐시가 백그라운드에서 비동기적인 방식으로 데이터베이스에 데이터를 기록
> 쓰기처리가 많은 워크로드에 적합한 캐시 방법
> 애플리케이션은 데이터베이스에 쓰기가 완료되는 것을 기다릴 필요 없이 다음 작업을 진행
'DevOps BootCamp > 데이터베이스' 카테고리의 다른 글
수평 확장된 데이터베이스와 중복 처리 (Advanced) (0) | 2023.03.29 |
---|---|
스트림 처리 (0) | 2023.03.29 |
캐싱 (0) | 2023.03.29 |
파티셔닝 (0) | 2023.03.29 |
레플리카 (0) | 2023.03.29 |