youngjunyoo.com
Hi, I'm
Youngjun
Yoo.
Youngjun Yoo's profile picture

About me

BS CS, MS CS @ Purdue
2020–2027
Software Engineer Intern
@ LinkedIn logo  LinkedIn
Summer 2026
Teaching Assistant
@ Terminal logo  Purdue CS
2024–
Present
In my free
time
5,448 commits total
January 1, 2020
April 18, 2026

Projects

More projects coming soon.

LSM key-value engine

2026

A from-scratch LSM-tree key-value storage engine in Go

Diagram titled Log structured Merge Tree with RAM and disk sections, labeled write and read paths, WAL, MemTable, Bloom filter, SSTable indexes, and leveled SSTables with compaction.
Conceptual LSM-tree diagram (WAL, MemTable, SSTables on disk, flush and compaction).
Read more

I built go-lsm-kv to learn how embedded databases actually persist data on disk. It is an LSM-tree key-value engine in the spirit of LevelDB and RocksDB: writes go to a write-ahead log and an in-memory memtable (skip list), then flush to immutable SSTables on disk, with Bloom filters to skip disk work on misses and k-way merge compaction so reads stay manageable as files accumulate.

The codebase is organized as a small library (pkg/kv) plus a tiny CLI for ad hoc get/put. Durability and recovery are taken seriously: WAL-first writes, CRC32 records, torn-tail handling on replay, and careful fsync ordering around compaction. Benchmarks, API examples, and how to run tests are documented on GitHub.