An open API service indexing awesome lists of open source software.

https://github.com/yah01/cykv-storage

A standalone key-value storage engine
https://github.com/yah01/cykv-storage

Last synced: 25 days ago
JSON representation

A standalone key-value storage engine

Awesome Lists containing this project

README

          

# CyKV-Storage

## Cache Layer
The engine doesn't read and write files directly when handling the `get`, `set` and `remove` requests, it reads and writes with an inner cache. You can disable the feature by creating a engine with `NoCacheManager`.

### Policy
The cache policy is scalable, but there are some basic principles for the engine:
- `read` causes the policy to determine to evict or not
- `write` forces the cache to sync contents to disk

## Todo
The stages:
- in-plan
- developing
- nightly: available, but hasn't been tested yet
- stable

|features|stage|comment|
|:---:|:---:|---|
|re-open|stable||
|compaction|stable||
|server|nightly||
|cache|nightly|there are still some issues, and bad performance for writing|
|efficient replay| nightly | store the keydir items which not in the writing log, and replay only the writing log|
|efficient scan()| nightly | the compaction procedure writes logs lexicographically |
|ACID transaction| in-plan||