본문 바로가기

Intern/DB2

[DB2] 버퍼풀

반응형

버퍼 풀은 사용자의 액세스 요청을 처리하기 위해 데이터베이스의 데이터 페이지를 읽고 수정하기 위한 메모리 영역

 

기본 버퍼 풀 : IBMDEFAULTBP [1000개 페이지가 할당]

버퍼 풀 생성 : CREATE BUFFERPOOL

버퍼 풀 정보 확인 : SELECT * FROM SYSCAT.BUFFERPOOLS

 

-> 데이터 베이스에 저장된 모든 데이터는 액세스 요청 시 버퍼 풀을 통해 검색

-> 데이터베이스에는 반드시 한 개 이상의 버퍼풀이 존재

-> 테이블 스페이스 생성 시 지정해 자동으로 사용

 

 

테이블스페이스 컨테이너의 페이지 크기와 대응되는 버퍼 풀의 페이지크기는 동일

-> 여러 개의 테이블스페이스는 한 개의 버퍼 풀을 공유해 사용 가능

 

DPF 환경에서 데이터베이스 파티션 별 버퍼풀 생성 가능

-> 옵션 설정하지 않으면, 동일한 크기의 버퍼풀 생성

 


블록 기반의 I/O

디스크의 데이터는 기본적으로 한 페이지 단위로 버퍼풀로 전송

-> 몇 개의 페이지를 묶어서 블록으로 정의, 버퍼풀의 일부를 블록 단위의 I/O영역으로 지정

 

$ vi <임의의 파일명>
create bufferpool <버퍼풀명>
size <페이지의 개수> 
NUMBLOCKPAGES <블록의 개수> 
BLOCKSIZE <블록의 크기>
PAGESIZE <페이지 크기>;
$ db2 –svtf <임의의 파일명>

<한 블록의 크기>는 페이지 단위로 지정

 

 

SYSCAT.BUFFERPOOLS 에서 BLOCKSIZE, NUMBLOCKPAGES 컬럼의 값으로 블록 기반의 I/O 영역의 크기를 확인

$ db2 "select substr(BPNAME,1,18) BPNAME, BLOCKSIZE, NUMBLOCKPAGES from syscat.bufferpools"

 

반응형

'Intern > DB2' 카테고리의 다른 글

[DB2] 아키텍처와 구조  (0) 2021.11.30
[DB2] 메모리 모델  (0) 2021.11.22
[DB2] 모니터링 Snapshot  (0) 2021.10.12
[DB2] STOGROUP  (0) 2021.10.12
[DB2] 카탈로그  (0) 2021.10.07