(ORACLE) 캐시와 공유 메모리
2019. 11. 26. 23:21
캐시가 필요한 이유 : 디스크 I/O의 접근을 최소화하기 위해서 그럼 캐시란 무엇인가? "캐시는 메모리 이다." 캐시는 빈번하게 사용되는 데이터를 저장해두는 memory 이로인해 중복적이고 똑같은 데이터를 서칭할때 발생하는 비용을 막아줄 수 있다. 블록단위로 데이터를 관리하는 오라클 (버퍼캐시, 디스크 에) 프로세스는 캐시를 공유한다. 위와 같이 프로세스마다 버퍼캐시가 존재하는 것은 낭비이다. 또한 한 프로세스마다 각각의 버퍼캐시를 가지는 것은 각각의 저장소를 사용하는 것과 같으므로 서로의 데이터를 볼 수 없다. 이러한 단점을 보완하기 위해 탄생한 메모리가 "공유메모리" 이다. 실제로는 LOCK이 존재하여 배타제어를 한다. LOCK이 존재하는 이유는 동시에 같은 데이터를 변경할 때를 방지하기 위해서이다...