Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 812 Bytes

README.md

File metadata and controls

53 lines (34 loc) · 812 Bytes

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