Skip to content

A minimal, educational database written in modern C++ for learning purposes.

License

Notifications You must be signed in to change notification settings

JosueCordero/minimal-cpp-database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

status badge

🚧🔧 UNDER DEVELOPMENT 🔧🚧

This project is currently in active development.
Expect frequent updates and possible breaking changes!

MinimalDB

A minimal, educational database written in modern C++ for learning purposes. Inspired by simple-db-in-c from rosedblabs.

✨Features

  • Simple CLI
  • In-memory paging system

⚙️Prerequisites

  • C++17 compatible compiler
  • make (or compatible build tool)
  • CMake

🛠️ Build Instructions

git clone https://github.com/JosueCordero/minimal-cpp-database.git
cd minimal-cpp-database/
mkdir build
cmke -B build/
cd build
make prod

🚀 Run the CLI

./miniCLI database_name.db

This will start the minimal REPL interface.

🧩 Architecture (Brief)

MinimalDB follows a modular design:

  • Pager – Manages fixed-size pages of memory.
  • Buffer – Collects and stores user input.
  • CLI – Minimal REPL interface to test DB functions.

Planned components:

  • Lexer - Token extraction from the bufffer
  • Parser – Statement analysis and validation.
  • Executor – Executes parsed instructions.

About

A minimal, educational database written in modern C++ for learning purposes.

Resources

License

Stars

Watchers

Forks

Packages

No packages published