FiloDB

FiloDB

FiloDB-Lightweight Relational Database System

7 followers

FiloDB: A lightweight, high-performance relational database written in Go with B+ tree storage, ACID transactions, memory-mapped I/O, and SQL-like commands. Features concurrent reads, aggregate functions, and cross-platform support with zero dependencies.
FiloDB  gallery image
Free
Launch Team
Wispr Flow: Dictation That Works Everywhere
Wispr Flow: Dictation That Works Everywhere
Stop typing. Start speaking. 4x faster.
Promoted

What do you think? …

Sharvit Kashikar

What started as me wanting to understand how databases actually work turned into a months-long project that I'm genuinely proud of.

I'll be completely honest - I relied on a book "Build Your Own Database from Scratch in Go" and studied a bunch of existing codebases to understand the concepts. But here's the thing: I implemented the code myself as a learning exercise, and ended up adding more features than the book covered.

What I built:

  • Complete B+ tree storage engine with memory-mapped I/O

  • Full ACID transactions with BEGIN/COMMIT/ABORT support

  • Concurrent reads using worker pools

  • SQL-like operations: CREATE, INSERT, UPDATE, DELETE, GET

  • Aggregate functions: COUNT, SUM, AVG, MIN, MAX

  • Range queries and composite indexing

  • Cross-platform single binary that works on Linux, macOS, Windows

  • Zero external dependencies except (golang.org/x/sys)

Performance numbers from my testing:

  • 1,813 operations per second for inserts

  • 1,848 operations per second for queries

  • Sub-millisecond latency

  • Only 0.88 KB storage overhead per record

This was purely educational - I wanted to understand database internals, memory management, and concurrent programming at a deep level. The fact that it actually works reliably and handles real workloads is honestly pretty exciting for me.

Sometimes the best way to learn something is to build it yourself, even if you need guidance along the way.

Check it Out:

Github: https://github.com/sharvitKashikar/FiloDB