• Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Key-Value data storage system. - [ This is a practice program ]

Build GitHub Code

Dorea is a key-value data storage system. It is based on the Bitcask storage model

Documentation | Crates.io | API Doucment

简体中文 | English

Data Sturct

Dorea have the basic data type and some compound type.

  • String
  • Number
  • Boolean
  • Binary
  • List <DataValue>
  • Dict <String, DataValue>
  • Tuple <DataValue, DataValue>

Storage Model

dorea based on the Bitcask storage model. (Log)

All insert, update, delete operations are implemented as appends.

key: foo | value: "bar" | timestamp: 1626470590043 # Insert Value
key: foo | value: "new" | timestamp: 1626470590043 # Update Value (append info)
key: foo | value:  none | timestamp: 1626470590043 # Remove Value (append info)

When a storage file reaches a maximum capacity, it is archived and a new write file is created.

Screenshot

Docker

docker pull mrxiaozhuox/dorea