What’s Slotted Page in DBMS

tags: learning database

content

  • normal page:
+-----------------------------+
| Page Header                 |
| - Number of records         |
| - other metadata            |
+-----------------------------+
| Record 1 (fixed offset)     |
| Record 2 (fixed offset)     |
| Record 3 (fixed offset)     |
| ...                         |
+-----------------------------+
  • slotted page: the length of records (tuples) is variable
    • different tuple can have different length
    • it’s tuple oriented
+--------------------------+
| Page Header              |
| - Number of slots        |
| - Offset to free space   |
| - other metadata         |
+--------------------------+
| Slot Directory (array of |
| pointers to records)     |
+--------------------------+
| ... free space ...       |
+--------------------------+
| Record N                 |
| Record N-1               |
| ...                      |
| Record 1                 |
+--------------------------+
  • problem with slotted page tuple oriented structure:
    • fragmentation: when a tuple is deleted, it leaves empty space on page
    • I/O on non-volatile disks is block-addressable, any operation on one tuple means that the whole block needs to be fetched

up

down

reference