All Projects → frugalos → cannyls

frugalos / cannyls

Licence: MIT license
An embedded persistent key-value storage for Rust that is optimized for random-access workload and huge-capacity HDD

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to cannyls

Cutedb
A slick BTree on disk based key value store implemented in pure Go
Stars: ✭ 67 (-35.58%)
Mutual labels:  embedded-database, key-value-store
Halodb
A fast, log structured key-value store.
Stars: ✭ 370 (+255.77%)
Mutual labels:  embedded-database, key-value-store
react-local-storage-cache
How to cache results in React with Local Storage.
Stars: ✭ 27 (-74.04%)
Mutual labels:  local-storage
dockage
embedded document/json store
Stars: ✭ 20 (-80.77%)
Mutual labels:  embedded-database
dxram
A distributed in-memory key-value storage for billions of small objects.
Stars: ✭ 25 (-75.96%)
Mutual labels:  key-value-store
react-save-localstorage
🗄 React component to save data to localStorage on render phase safely
Stars: ✭ 26 (-75%)
Mutual labels:  local-storage
maricutodb
PHP Flat File Database Manager
Stars: ✭ 23 (-77.88%)
Mutual labels:  key-value-store
effectiveweb.training
Repository for Effective Web Online Course / airhacks.io
Stars: ✭ 17 (-83.65%)
Mutual labels:  local-storage
DBMSology
The Paper List on Design and Implmentation of System Software
Stars: ✭ 67 (-35.58%)
Mutual labels:  key-value-store
lmdb-js
Simple, efficient, ultra-fast, scalable data store wrapper for LMDB
Stars: ✭ 270 (+159.62%)
Mutual labels:  key-value-store
react-redux-dashboard
React Redux Dashboard with redux-saga and local-storage support
Stars: ✭ 48 (-53.85%)
Mutual labels:  local-storage
gvar
gvar(1) -- display, set, or remove global variables.
Stars: ✭ 15 (-85.58%)
Mutual labels:  key-value-store
meteora
Distributed key-value store.
Stars: ✭ 23 (-77.88%)
Mutual labels:  key-value-store
cachegrand
cachegrand is an open-source fast, scalable and secure Key-Value store, also fully compatible with Redis protocol, designed from the ground up to take advantage of modern hardware vertical scalability, able to provide better performance and a larger cache at lower cost, without losing focus on distributed systems.
Stars: ✭ 87 (-16.35%)
Mutual labels:  key-value-store
AloeDB
Light, Embeddable, NoSQL database for Deno 🦕
Stars: ✭ 111 (+6.73%)
Mutual labels:  embedded-database
nimdbx
Fast persistent key-value store for Nim, based on libmdbx
Stars: ✭ 77 (-25.96%)
Mutual labels:  key-value-store
avl array
High performance templated AVL tree using a fixed size array. Extensive test suite passing.
Stars: ✭ 33 (-68.27%)
Mutual labels:  key-value-store
julea
A Flexible Storage Framework for HPC
Stars: ✭ 25 (-75.96%)
Mutual labels:  key-value-store
rippledb
Embeddable key-value database engine in pure TypeScript, based on LSM-Tree
Stars: ✭ 33 (-68.27%)
Mutual labels:  key-value-store
sync-client
SyncProxy javascript client with support for all major embedded databases (IndexedDB, SQLite, WebSQL, LokiJS...)
Stars: ✭ 30 (-71.15%)
Mutual labels:  embedded-database

cannyls

Crates.io: cannyls Documentation Build Status License: MIT

CannyLS is an embedded and persistent key-value storage optimized for random-access workload and huge-capacity HDD.

CannyLS mainly has following features:

  • A local storage for storing objects that called as "lump":
    • Basically, a lump is a simple key-value entry
    • The distinctive properties are that the key is fixed length (128 bits) and suited for storing a relatively large size value (e.g., several MB)
  • Provides simple functionalities:
  • Optimized for random-access workload on huge-capacity HDD (up to 512 TB):
  • Aiming to provide predictable and stable read/write latency:
    • There are (nearly) strict upper bounds about the number of disk accesses issued when executing operations
      • One disk access when PUT and DELETE, and two when PUT
    • There are no background processings like compaction and stop-the-world GC which may block normal operations for a long time
    • For eliminating overhead and uncertainty, CannyLS has no caching layer:
      • It uses Direct I/O for bypassing OS layer caching (e.g., page cache)
      • If you need any caching layer, it is your responsibility to implement it
  • Detailed metrics are exposed using Prometheus

See Wiki for more details about CannyLS.

Documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].