Now
Now
Work
Distributed database team at Zoho. The engine is a horizontally scalable distributed PostgreSQL: data sharded across nodes, queries planned and executed across them, transactions that span nodes committing with two-phase commit.
My share of it right now is the shard lifecycle (the operations that extend, retire and rebalance ranges while the cluster is serving, each one rehearsable against live metadata before it mutates anything) and a read-only verifier that reads the whole cluster and reports what disagrees. In C, debugged in LLDB across a multi-node cluster.
Learning
PostgreSQL’s write-ahead log and transaction code paths, closely enough to explain them. Logical decoding from the plugin side: what the log actually hands you, and what it does not. C, properly this time.
Building
This site. A set of “explained simply” posts on PostgreSQL internals, starting with the write-ahead log. A small key-value engine in C on the side, to feel the difference between a B-tree and an LSM-tree rather than read about it.
Deliberately not doing
Reading bookshelf →
- Consensus on Transaction Commit
- Designing Data-Intensive Applications
- The Rust Programming Language
Tracks under way all →
Newest writing all →
This is a now page. It says what I am focused on at this point in my life. The lists are worked out from the site's own dates on the day it was built, never by hand. Days are UTC days, as every date on the site is.