Skip to content

killer4639/killerdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

killerdb

A small, educational key–value store in Go that explores B-tree storage, page-based persistence, and durability primitives.

Overview

killerdb is a learning-focused database project that implements a B-tree–backed KV store with a simple CLI. It includes experiments around persistence (mmap, master page, fsync) and safe file writes.

Features

  • B-tree implementation with insert, get, and delete
  • Page-based storage with fixed page size
  • Memory-mapped persistence layer
  • Master page for root pointer and page count
  • File-backed KV store with sync/flush flow
  • Simple CLI for interactive testing
  • File utilities for safer persistence patterns

Project Structure

  • main.go – entrypoint
  • btree/ – core B-tree implementation, CLI, and persistence
  • filedb/ – file persistence helpers (atomic writes, fsync)
  • utils/ – small helpers

Requirements

  • Go 1.20+ (or any modern Go version)

Run

go run .

CLI Usage

Start the program and use:

insert <key> <value>
get <key>
delete <key>
exit

Example

insert name Alice
get name
delete name

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages