Skip to content

AmnesiaDB is an experimental key/value storage engine developed during a workshop about Data Structures and Algorithms

Notifications You must be signed in to change notification settings

geeksilva97/amnesia-db-ruby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AmnesiaDB

AmnesiaDB is a simple key/value storage engine developed with a single purpose: studying internal aspects of a database. It's supposed to be an LSM-Tree with some specific types being implemented using B+-Trees.

Features

Data Structures/Types

  • SET: Implemented using B+-Trees
  • STRING: Plain values stored by commands like set somekey somevalue

Executing this project

Installing dependencies

bundle install

Running tests

bundle exec rspec

Starting CLI

./amnesia-cli dbname.db

Once you are in the prompt you can execute the following commands: get, set, and delete.

> set firstName Mabel

> set lastName Pines

for deleting:

> delete firstName

for retrieving:

> get lastName
Pines

About

AmnesiaDB is an experimental key/value storage engine developed during a workshop about Data Structures and Algorithms

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages