PROJECTS

COMPLETED · MAR 2026 · ECS 165A

LStore: Column-Oriented Database Engine

Built a full column-oriented database system from scratch over a quarter. Implemented B+ tree indexing, a buffer pool, page-range tables, a full query engine, and 2PL concurrency control. Scored 10/10 on all test suites with 1000/1000 concurrent transactions and a "Great Performance" rating from the grader.

LStore: Column-Oriented Database Engine
10/10all tests passed
PythonB+ TreeBuffer Pool2PL LockingConcurrencyDisk Persistence

THE STORY

A full database from the disk layer up. The hardest part wasn't the B+ tree; it was no-wait concurrency under contention. Every locking decision had to be correct under thousands of concurrent reads and writes, with rollback semantics that left the data consistent. By the time the test suite hit 10/10 with full concurrency and a "Great Performance" benchmark, I felt like I actually understood why production databases are so careful.

FEATURES

Disk Persistence

Page files + metadata serialized to disk with crash recovery

Buffer Pool

LRU/MRU eviction policy with a 1000-page in-memory cache

Page Range Tables

Base + tail record architecture for efficient updates

Query Engine

Full CRUD + aggregation + record versioning

Transactions

2PL no-wait locking with rollback on conflict

Concurrency

1000 of 1000 concurrent transaction tests passed

CODE

REPO TBA — being cleaned up for public release