Databases
Choices that look like five-minute decisions and turn into performance investigations eighteen months later. Identifier formats, index behaviour, and the difference between what a database promises and what it does under load.
19 min read
The Dual Write Problem, and Everything It Forces You to Build
Two writes, no transaction, and one of them fails. The bug is small; the architecture it forces — outbox, idempotency, sagas, backoff — is the real subject.
8 min read
UUID v4 vs v7 vs ULID: Which ID Should Your Database Use
Random identifiers are terrible primary keys for reasons that have nothing to do with collisions. Here is what actually goes wrong, and the fix.