본문 바로가기

sql_tuning

Section4. Buffer Cache 개념 및 Buffer Cache Access 메커니즘의 이해

728x90
반응형

[출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드]

Buffer Cache 개요

  • Storage I/O Access를 최소화 하기 위해서 한 번 Access 한 Block은 RAM 영역에 저장하기 위한 공유 메모리 영역
    • 즉 Storage 까지 안가고 RAM에서 해결하기 위해 블락을 버퍼캐시에 올려두는 것 임. (in memory 방식) 
  • 특히 Random I/O 성능 영향을 최소화하는 중요 역할 (Storage I/O는 랜덤I/O에 취약함)

  • 서버 프로세스가 데이터 Access 시 최초에는 Storage에 Access
  • 해당 Block 이 Buffer Cache에 로드 되면 이제는 해당 Blovk Access 시 Buffer Cache에서 Access 하므로 Storage I/O Access 량을 줄임 

 

Buffer Cache 를 통한 데이터 Access

  • Buffer Cache에 어떤 Block이 존재하는지 찾기 위해서 Hash Bucket과 LRU 제공
  • 개별 데이터 Block은 File#과 Block#으로 구성되는 DBA(Data Block Access)로 표현 될 수 있으며, DBA는 Hash Bucket으로 쪼개져서 LRU 내에서 Buffer Cache의 위치 Address를 가지게 됨. 

 

728x90
반응형