[−][src]Crate turingdb
TuringDB is a key-value database written using async code and backed by sled.rs
embedded key/value store.
This is just a library version, the server can be found by searching crates-io for turingdb-server
or checking under the Github repository https://github.com/charleschege/TuringDB/TuringDB-Server/
This codebase uses sled
as the underlying key/value store and builds upon that
to provide other functionality like
- in-memory keys,
- async-locks for increased acid guarantees
- Insert operations will fail if a key already exists, use
modify()
method on a key to change its value - in-memory locks to ensure that document locks are not dropped until the application is halted
Some features that are under development include
- Replication
- Multi-cluster queries
- Changefeeds without polling, inspired by RethinkDB
- JSON support
This module contains all the modules for the database engine that you can use to build a database server or embed in your own app
Structs
FieldData | Contains the structure of a value represented by a key |
TuringEngine | This engine handles data all database queries and in-memory keys and sled file locks |