Data Storage Overview
Data in a DBMS is stored on storage devices such as disks. The data organization may be built into the file system or data is stored in form of files. Three software modules are crucial in managing the data.
- Disk Space manager
- File Manager
- Buffer manager
The file manager provides the abstraction of records to higher levels of DBMS layer. It receives the requests for operations on records and issues instructions to disk space manager to allocate or release space on disk. The logical unit of disk space is a page; the size of a page is configurable and its typical values are 4 KB or 8 KB. The file manager manages the arrangement of records in a page. The disk space manager keeps track of available disk space at system level.
When a record is needed for processing, it has to be transferred from disk to main memory. The page on which the record resides is determined by the file manager. The file manager uses specific data structures to quickly identify the page that contains a desired record. After identifying the required page, the file manager issues a request for the page to a layer of DBMS code called the buffer manager. The buffer manager fetches a requested page from disk into a region of main memory called the buffer pool and tells the file manager the location of the requested page.
Once the requested row is in memory, the execution engine operates on the data values to generate result set for user.