래치와 락의 차이점
- 최초 등록일
- 2011.04.26
- 최종 저작일
- 2011.04
- 5페이지/ MS 워드
- 가격 1,000원
소개글
래치 그리고 락에 관한 심오한 비교 분석
목차
없음
본문내용
• 물리적으로는 Shared Pool 영역에 존재하는 일종의 메모리 구조체
• 래치를 획득(get)하고 해제(relese)하는 작업들은 하드웨어에 맞게 극도로 최적화
• 하드웨어 칩셋이 제공하는 TEST-AND-SET, COMPARE-AND-SWAP과 같은 명령을 사용
-> 원자성(Atomicity)이 보장되고, 소프트웨어적인 동기화 장치가 불필요
• 관련된 작업들의 부하를 최소화하기 위해 래치 획득의 순서는 보장되지 않음
래치가 보호하는 리소스
• 래치가 보호하는 리소스는 SGA 내의 모든 메모리 영역이다.(버퍼 캐시, shared pool, 라이브러리 캐시, 로그 버퍼...)
• SQL 문 실행시 shared pool 래치, cache buffers chains 래치, redo copy 래치 등의 래치를 획득
• 래치의 분류
부모(Parent) 래치 : 여러 개의 자식 래치를 거느리는 래치, V$LATCH_PARENT 뷰
독립(Solitary) 래치 : 전체 인스턴스에 단 하나만 존재하는 래치
자식(Child) 래치 : 부모 래치에 속한 래치, V$LATCH_CHILDREN 뷰
• 락 자체도 SGA의 Shared Pool 영역에 존재하는 메모리 구조체이므로 래치를 통해서 보호받음
참고 자료
없음