Java database internals project

happydb

A learning-oriented relational database implementation in Java that explores how storage, indexing, transactions, recovery, query execution, optimization, and replication fit together in one serious systems repository.

JavaStorage engineB+ tree / hash indexMVCCRedo / undo recoveryQuery engineOptimizerRaft experiments

If this repo helped your database internals study: the low-friction intended path is simple — if it saved you time, tip directly; if you want the same packaging applied to your own systems repo, buy the review.

What this project covers

  • heap-file storage and page management
  • B+ tree and hash indexes
  • row-level locking and MVCC-style visibility
  • redo / undo logging and crash recovery
  • simple SQL parsing and execution
  • join / aggregate / filter / order-by operators
  • cost-based query optimization experiments
  • Raft-style replication experiments

Why a hiring manager or interviewer might care

  • shows real systems-project depth beyond web CRUD work
  • demonstrates familiarity with storage, transactions, recovery, and execution engines
  • gives concrete areas to discuss tradeoffs, invariants, and simplifications
  • works as a strong portfolio repo for backend / systems positioning
  • pairs well with system-design-checklist and CSAPPLabsAndNotes as proof of systems interest
  • is especially useful if you want one repo that feels more substantial than interview-only demos

Repository shape

src/main/java/happydb/common/        bytes, files, catalog, shared utilities
src/main/java/happydb/storage/       records, pages, heap files, buffer pool
src/main/java/happydb/index/         B+ tree and hash index implementations
src/main/java/happydb/log/           redo / undo logging and recovery
src/main/java/happydb/transaction/   locks, transactions, read views
src/main/java/happydb/parser/        SQL parsing
src/main/java/happydb/execution/     query operators and executor
src/main/java/happydb/optimizer/     histogram + join-plan experiments
src/main/java/happydb/replication/   Raft-style replication experiments
src/main/java/happydb/transport/     Netty-based client/server transport
docs/                                implementation notes and lab writeups

Support

If happydb helped your database-internals learning or systems-project packaging, the shameless intended path is a direct thank-you tip on the support page.

  • Best payment notehappydb or database internals
  • Low-friction tip¥9.9 / ¥19.9
  • Fastest path — WeChat Pay / Alipay on the support page
  • One-click follow-upsupport discussion
  • ¥29.9 quick read — one blunt repo / README / landing-page first-impression pass
  • ¥99 async review — concrete packaging edits for your own technical assets
  • Best use — making a technically strong repo feel more credible and easier to skim