5 unstable releases

0.3.1 Dec 25, 2021
0.3.0 Oct 26, 2021
0.3.0-alpha Sep 26, 2021
0.2.1 Jun 27, 2021
0.1.0 Jun 21, 2021

#2392 in Database interfaces

MIT license

140KB
3K SLoC

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

Features

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

Dependencies

~11–26MB
~399K SLoC