explaingit

rjzhb/miniob

Analysis updated 2026-07-17 · repo last pushed 2022-08-24

1C++Audience · researcherComplexity · 4/5DormantSetup · moderate

TLDR

A simplified, educational database system that shows students how real databases parse SQL, store data, and run queries under the hood.

Mindmap

mindmap
  root((repo))
    What it does
      Teaches database internals
      Parses SQL commands
      Stores and retrieves data
      Runs queries step by step
    Tech stack
      C++
      Docker
    Use cases
      Database course assignments
      Learn SQL parsing
      Learn storage engines
      Study query execution
    Audience
      Students
      Educators
    Setup
      Docker environment
      Local dev setup
      Compile and test

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Work through guided database assignments like implementing date handling or drop-table support.

USE CASE 2

Study how SQL statements get parsed into an execution plan.

USE CASE 3

Trace how a query reads and writes data on disk.

USE CASE 4

Use the included textbook alongside the code to learn database theory and practice together.

What is it built with?

C++DockerSQL

How does it compare?

rjzhb/minioballentdan/shape_based_matchingbenagastov/bindweb-nim-wasm-compiler
Stars111
LanguageC++C++C++
Last pushed2022-08-242019-03-01
MaintenanceDormantDormant
Setup difficultymoderatemoderateeasy
Complexity4/53/55/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Docker is the easiest path, native setup requires a C++ build toolchain.

Copy-paste prompts

Prompt 1
Explain how MiniOB parses a SELECT statement into an execution plan, step by step.
Prompt 2
Help me set up MiniOB using Docker and run my first query against it.
Prompt 3
Walk me through how MiniOB stores a table's data on disk.
Prompt 4
Guide me through implementing the drop-table assignment described in MiniOB's docs.
Prompt 5
Compare how MiniOB executes a query to how a production database like MySQL would.

Frequently asked questions

What is miniob?

A simplified, educational database system that shows students how real databases parse SQL, store data, and run queries under the hood.

What language is miniob written in?

Mainly C++. The stack also includes C++, Docker, SQL.

Is miniob actively maintained?

Dormant — no commits in 2+ years (last push 2022-08-24).

How hard is miniob to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is miniob for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.