디스크와 파일
디스크와 파일
- DBMS 내부의 데이터는 디스크나 데이트같은 저장장치에 저장.
- DBMS는데이터를 디스크에 효율적으로 저장하고 조회하기 위해 디스크 공간 관리자, 버퍼 관리자등의 여러 구서요소로 나눈다.
기억장치 계층 구조
- 1차 저장장치 (캐시, 주기억장치)
- 2차 (디스크)
- 3차 (테이프)
디스크와 파일 개요
DBMS는 데이터를 디스크나 데이프와 같은 저장 장치에 저장하는데, 이를 관리하기 위해 여러 계층으로 나뉜 구성요소들이 함께 동작
- 디스크 관리자 : 가용한 디스크 공간을 추적하고 감시하는 역할
- 파일 관리자 : 레코드로 이루어진 파일에 대한 고수준 서비스를 제공하며, 디스크 관리자에게 디스크 공간을 요청하거나 반환하는 요청을 전달합니다. 페이지 단위로 디스크 공간을 다루며, 페이지 크기는 일반적으로 4KB나 8KB이며, 파일 관리자는 파일 내의 페이지와 레코드를 추적하고 배치합니다.
- 데이터 반입 : 처리 과정에서 필요한 레코드는 디스크에서 주 기억장치로 반입됩니다. 페이지의 위치는 파일 관리자가 결정하며, 보조 데이터 구조를 사용해 레코드를 빠르게 찾기도 합니다.
- 버퍼 관리자 : 파일 관리자가 요청한 페이지를 주 기억장치의 버퍼 풀에 적재하고 관리합니다. 이는 디스크로부터 가져온 데이터를 주 기억장치에 일시적으로 저장하는 역할.
버퍼 관리자
- 대부분의 DB는 주기억장치보다 큰 용량을 가진다.
- CPU는 메모리에 적재된 데이터만을 처리할 수 있으며, DBMS는 필요할 때 마다 데이터를 주 기억장치에 적재해야 하며, 언제 페이지를 교체해야 하는지 결정해야 한다.
버퍼 풀
- 가용한 주 기억장치 공간을 페이지라는 단위로 분할한 데이터 적재 공간
- Buffer Manager(버퍼 관리자)는 사용 가능한 주 기억장치의 공간을 페이지라는 단위들로 분할해 관리합니다.
- 주 기억장치에서 이런 페이지가 모여 있는 공간이 버퍼 풀
- 버퍼 풀내의 페이지를 프레인(Frame) 이라고 하며, 프레임은 페이지를 담을 수 있는 슬롯
버퍼 교체 전략
- LRU (Least Recently Used)
- pin_count가 0인 프레임들에 대한 포인터로 큐를 생성
- Clock
- LRU의 변형으로 1부터 N사이의 값인 current변수를 사용해 교체용 페이지 선정
- FIFO (First In First Out), MRU (Most Recently Used), Random등의 방식 사용
Record 형식
주 기억장치의 예약된 공간인 버퍼 풀은 프레임이라는 페이지가 로드될 수 있는 공간을 제공하고, 버퍼 관리자는 디스크 관리자로부터 전달받은 페이지를 버퍼 풀에 로드합니다. 페이지 내의 데이터는 레코드라는 형식으로 구성됩니다.
Page
페이지는 버퍼 풀에 저장되는 레코드의 집합이며, 디스크에서 메모리로 데이터가 전송되는 최소 단위입니다. 페이지 역시 각 레코드가 저장되는 슬롯을 가지며, 각 슬롯에 레코드가 저장됩니다.
Page 형식
- 페이지는 레코드가 탑재되는 슬롯의 모임으로 생각 가능
- 레코드는 <페이지 번호, 슬롯 번호>의 쌍으로 식별됨
- <페이지 번호, 슬롯 번호>의 상을 RID
라고 하며, 레코드의 포인터 역할을 수행
댓글남기기