Building a Key-Value Database on S3 in Go
How an LSM tree gives us the right building blocks, and where object storage changes the design.
Staff Software Engineer at Walmart Global Tech, based in Bengaluru.
I work on distributed systems and platform infrastructure, mostly in Go. I write about databases, runtimes, performance, and the parts of software that are easy to use but difficult to understand.
Away from software, I make photographs and sometimes write poetry.
Things I build and maintain outside work.
How an LSM tree gives us the right building blocks, and where object storage changes the design.
How hierarchical timing wheels expire millions of cache entries efficiently in Go without periodic O(n) scans or a timer per key.
An illustrated tour of Go’s runtime scheduler: operating-system foundations, the G-M-P model, work stealing, preemption, and scheduler traces.
How to use small interfaces, structs, and hand-written test doubles to isolate dependencies and write focused unit tests with Go's standard library.
I keep source code on GitHub, photographs on 500px, and poetry at Tangled Vibes.