Most important issue is usually ordered versus unordered indices. In practice, this is often not the case. Since B-trees are ordered, they have a more efficient search time. Access are rarely random, so the clustering of B-tree indices is often a win. Database is enormous.
Accesses are really random.
The obvious, simple, and wrong way to store fixed length records. Allocate records contiguously with no meta-data. Let s be the record size. Deleted records point to next deleted record. Retain free-space management from above.