Skip to content
/ dorea Public
forked from mrxiaozhuox/dorea

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

License

Notifications You must be signed in to change notification settings

ykunbot/dorea

This branch is 8 commits behind mrxiaozhuox/dorea:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a8240f1 · Mar 9, 2022
Feb 18, 2022
Mar 9, 2022
Dec 23, 2021
Feb 19, 2022
Dec 14, 2021
Jan 14, 2022
Mar 9, 2022
Dec 14, 2021
Dec 14, 2021
Mar 9, 2022
Mar 9, 2022
Mar 9, 2022
Dec 25, 2021
Dec 14, 2021
Dec 14, 2021
Mar 9, 2022
Dec 15, 2021

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.3%
  • Other 0.7%