About

transactional.blog

SIGMOD hosts a yearly competition to design a system which performs a set of queries as quickly as possible. The contests provide a starting framework and test harness. They make great intermediate database projects for learning.
Entity Resolution (2020) Sorting (2019) Join Processing (2018) Streaming N-Gram Filter (2017) Shortest Path (2016) Transaction Processing (2015) Social Network Graph Processing (2014) Streaming Full Text Search (2013) Multi-dimensional Indexing (2012) Durable Main-Memory Index Using Flash (2011) Distributed Query Engine (2010) Main Memory Transactional Index (2009)
An overview of erasure coding, its trade-offs, and applications in distributed storage systems.
2024-08-13

Database Startups

Consistent replication algorithms can be placed on a sliding scale based on how they handle replica failures. Across the three common points on this spectrum, the resource efficiency, availability, and latency are compared, providing guidance for how to choose an appropriate replication algorithm for a use case.
2024-06-05

Building BerkeleyDB

A B-Tree tutorial series implementing an ABI-compatible BerkeleyDB clone.
Introduction Page Format Entry Format API Basics Point Reads
2023-05-07

How to Learn

Suggested reading material for various topics.
Philosophy of How to Learn Consensus
A reminder that macOS does not respect the usual ways of making data durable on disk.
A walkthrough of how and why complex infrastructure should be built with deterministic simulation, and how to make such tests as productive as possible for developers.
BUGGIFY