Vignesh Kumar ADatabase Engineer · Chennai, India
A write-ahead log of what I learn.
I'm Vignesh. I work on database internals at Zoho. Every post here is a record: written down plainly, corrected in the open, never quietly rewritten.
Pinned
Hi, I'm Vignesh. Start here
I'm a database engineer at Zoho, working on database internals. Why I write here in public, and how to use the site.
Now all →
PostgreSQL internals, explained simply
series · active
One mechanism per post, in the order a change flows through the server. Analogy first, then the real thing, then the gotchas.
Also reading Consensus on Transaction Commit, Designing Data-Intensive Applications and The Rust Programming Language. Bookshelf →
Latest all →
How PostgreSQL tells every connection its cache is stale
explainer
Each PostgreSQL connection caches the catalog for itself. How a change is announced to all of them at commit through a shared ring, and what happens to a connection that falls behind.
Full-page writes and torn pages
note · evergreen
Why the first change to a page after a checkpoint carries the whole 8 KB page in WAL.
Lazy transaction id assignment
note · seedling
A transaction does not get an xid at BEGIN; it gets one the first time it writes.
pd_lsn vs record LSN
note · budding
Two LSNs that are easy to mix up, and the rule recovery uses to compare them.
Most read this week
Projects all →
Decentralized P2P Network
2025project · paused
A peer-to-peer messaging network in Rust on libp2p: messages arrive in under 50 ms across 100+ nodes, with Ed25519 peer identity and Noise-protocol encryption.
Hybrid Storage Engine
2026project · paused
A key-value engine in C that keeps values in an append-only log and keys in a B-tree, so rewriting a large value does not churn the index around it.
Follow
By feed: the essays and notes, everything, or one stream alone: Tech · Meta. Every feed carries the whole text.