I built a database. What should I do next?
08:52 25 Mar 2026

I built a small relational database as a personal learning project. It is around 10,000 lines of code and already includes many of the core parts of a basic relational database, such as page-based storage, a buffer pool, a B+Tree index, a table heap, a simple catalog, a Volcano-style executor, and WAL-based crash recovery.

At first, I felt this was a meaningful milestone. But after reading more about real database systems and research directions, including PostgreSQL, TiDB, DuckDB, distributed SQL, HTAP, cloud-native databases, and newer AI-related data capabilities, I started to feel that my project is very small and naive in comparison. It still works as a learning project, but the gap between my implementation and real systems feels huge.

So I want to ask: how should I evaluate a project like this fairly? Is building a small but coherent database already a solid achievement for an individual learner, or is it still just a toy? More importantly, if I want to keep going, what are the most meaningful next steps?

Right now, possible directions I can think of include SQL parsing and planning, MVCC and transactions, a better optimizer, columnar execution or storage, distributed execution, or improving correctness and testing. I am not sure which direction would teach me the most or make the project significantly more serious.

I would especially appreciate advice from people who have studied database internals, built similar projects, or contributed to real database systems. How would you think about the value of a project like this, and what would you do next?

database postgresql oracle-database sqlite