Skip to content
all episodes
Code of Architecture · episode 07

Database Internals — Episode 1

1:07:05

Episode participants

  • Alexey Malikov

    guest

Conversation

What we discussed on the recording

The new season opens Alex Petrov's Database Internals. Row-oriented storage keeps a row together; column-oriented storage separates columns for analytics and compression. The hosts examine data and index files, clustered and secondary indexes, persistent structures, ordering, and buffering.

A B+ tree is wide and shallow to reduce page reads and support point and range queries. Page keys are sorted, and fan-out matches block I/O. Insertion splits a full page and updates parent links; merges and sibling navigation become harder under concurrency.

Binary representation covers big-endian and little-endian order, primitive widths, flags, and variable fields. A slotted page separates headers and pointers from values so records can move. Deletions create fragmentation and a free-space map; large values can live separately.

A B-link tree adds sibling links for range scans and safe splits, while a high key caps a page. Overflow, background rebalancing, compression, and monotonic keys shape the write path. Vacuum-like cleanup maintains the structure and fights entropy on disk.

Book series
Database Internals
Alex Petrov
Book playlist