Disk structure and access time in DBMS Theory - Time & Space Complexity
When working with disks in databases, it is important to understand how long it takes to read or write data.
We want to know how the time to access data grows as the amount of data or disk structure changes.
Analyze the time complexity of accessing a block on a disk.
-- Steps to access a disk block
seek to track position
wait for disk rotation to sector
read the block into memory
This shows the main steps involved in reading a block from a disk.
Look at what repeats or takes time during disk access.
- Primary operation: Moving the disk head to the correct track (seek) and waiting for the disk to rotate to the right sector (rotational delay).
- How many times: Each block access requires these steps once, but if multiple blocks are read, these steps repeat for each block.
As you read more blocks, the total time grows roughly with the number of blocks.
| Number of Blocks (n) | Approx. Total Access Time |
|---|---|
| 10 | 10 times seek + rotation + read time |
| 100 | 100 times seek + rotation + read time |
| 1000 | 1000 times seek + rotation + read time |
Pattern observation: The total time increases roughly in direct proportion to the number of blocks accessed.
Time Complexity: O(n)
This means the total time to access data grows linearly with the number of blocks you want to read.
[X] Wrong: "Accessing more blocks takes the same time as accessing one block because the disk is fast."
[OK] Correct: Each block requires moving the disk head and waiting for rotation, so more blocks mean more time.
Understanding disk access time helps you explain how databases manage data efficiently and why some operations take longer.
"What if the disk used solid-state technology with no moving parts? How would the time complexity change?"