Skip to content

๐Ÿ”‘ Kagi is a lightweight key-value database built in Go.

License

Notifications You must be signed in to change notification settings

amohamed11/kagi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

37 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Kagi-db

Go
Kagi is a lightweight key-value database built in Go.
You can find my notes on b-tree & key-value store design at notes/.

Motivations

  • Research more about database design & implementation
  • Apply learned knowledge & theory from classes (db design, access methods, B-trees, etc)
  • Learn & practice Go (simultaneously reading The Go Programming Language)

Functionalities

  • Save data to db
  • Retreive data from db
  • Delete data from db
  • Create groupings as an umbrella for related data

Benchmarks

Benchmarks will be updated once Kagi is complete, and performance can be focused on.
Although performance is not the main priority, I still aim to make Kagi reasonably performant.
Ran using Go's testing library/tool. For benchmarking code check bench_test.go.

Operation time (ms)
Set (1000 Keys) 30.2
Get (1000 Keys) 26.5

About

๐Ÿ”‘ Kagi is a lightweight key-value database built in Go.

Topics

Resources

License

Stars

Watchers

Forks

Languages