BytewizeJoin the waitlist
System design track

Data & Storage

How data is modelled, stored, found again and kept safe as it grows beyond one machine.

Data models

The shapes a database can give your data, and what each shape is good at.

Indexing

How a database finds rows without reading all of them, and what that costs on every write.

  • What an index costs and buys

    How an index turns a search through millions of rows into a few steps, and what every write pays for it.

  • How B-tree indexes find rows

    Sorted pages, a short descent from root to leaf, and why a function on the column breaks it.

  • LSM trees and SSTables

    A storage design that never changes a file once it is written, and why that makes writes cheap and reads more work.

  • Composite and covering indexes

    Indexes on several columns: why their order decides which queries they serve, and when the table need not be read at all.

  • Inverted indexes

    How text search finds the documents that contain a word, without reading the documents.

Transactions and isolation

How a database keeps changes whole and keeps concurrent work from colliding.

  • Transactions and the write-ahead log

    How a database makes several changes count as one, and how it keeps a commit through a crash. Builds on ACID and BASE.

  • Isolation levels and their anomalies

    What transactions that run at the same time can see of each other, and how strictly a database can keep them apart.

  • MVCC

    How a database lets readers and writers work on the same rows at the same time, by keeping more than one version.

  • Pessimistic locking

    Claiming a row before you change it, so that two transactions cannot both act on the same old value, and what goes wrong when locks cross.

  • Optimistic locking

    Detecting a conflict at the moment of writing, in place of preventing it with a lock, and when that is the better deal.

Replication

Keeping copies of the data on several machines, and what the copies can promise.

Partitioning and sharding

Splitting data that no longer fits one machine, and living with the split.

Caching

Object and blob storage

Where files go: images, videos and backups that do not belong in a database.

Start with one byte

Join the waitlist and get the beta invite when it opens.

  1. Bit1U
  2. Nibble2U
  3. Byte4U
  4. Kilobyte8U
One unit more at every level