Data Storage Structure
Data Storage Structure
File Organization
- DB = Collection of files
- File = Sequence of records
- block 단위로 disk에 저장됨
- 하나의 file당 한 table의 record or 여러 table의 record
- Record = Sequence of fields
- Fixed or variable length record
Variable Length Record
- attribute 순서대로
- variable length attribute는 fixed length metadata를 먼저 저장
- metadata = offset + length of actual data
- fixed length attribute는 그대로 저장
- 마지막에, 그리고 variable length data 앞에 null bitmap: null인지 아닌지
Slotted Page Structure
- Page header
- # of records
- end of free space
- location(ptr), size of each block
- 각 record에 대한 pointer 제공
- Record는 뒤에서부터 채워서 fragmentation 방지
Storage Access
CPU(DBMS)는 main memory하고만 communicate. 따라서 읽고 쓰기 전에 disk block을 main memory에 올려야 한다. 이 영역을 buffer라고 한다.
Buffer Manager
Buffer를 효율적으로 관리하는 DBMS의 subsystem. MMU처럼 Block replacement를 수행.
Discussion
Buffer
Q. Suppose transaction T1 requests write(X) on a database item X, and the DBMS subsequently responds with a success message. Does this mean that X is updated in the disk? Explain.
A. No. It is written on the block in the buffer.