728x90
반응형
자주 사용되지만 업데이트는 없는 데이터의 경우, 매번 메인 DB에서 가져오는 것보다는 key value로 이루어진 캐시 메모리에서 조회해오는 것이 속도가 빠르다. 인덱싱이 되지 않은 조인을 통한 쿼리 응답 데이터를 키 value로 캐싱하게 되면 성능 상의 이점이 있다.
- 자주 사용되는 데이터
- 입력에 대해 출력이 항상 동일한 데이터
- 업데이트가 캐시 기간동안 일어나지 않는 데이터
- 서버마다 캐시를 저장한다.
- 서버 내에서 작동하기에 속도가 빠르다.
- 다른 서버의 캐시를 참조하기 어렵다.
- 참조하기 위해서는 개발자가 직접 API를 만들어야 함.
- was 인스턴스의 resource를 사용(memory, disk)
- 외부에서 참조하기가 힘들기 때문에 인스턴스가 여러 개인 경우 캐싱된 데이터의 원본 데이터가 바뀌면 정합성을 보장하지 못한다.
- 서비스 확장으로 WAS 인스턴스가 늘어나고, cache 데이터 크기가 커질 수록 효과적이다.
- 네트워크 비용발생으로 로컬 캐시보다는 느리다.
- 데이터를 분산하여 저장 할 수 있다.
- Replication: 두 개의 이상의 DBMS 시스템을 Mater / Slave 로 나눠서 동일한 데이터를 저장하는 방식
- Sharding: 같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법
반응형