Sled

Sled is an embedded database management system written in Rust.

Isolation Levels

Not Supported

Currently, Sled does not support transactions and no isolation level is supported yet. It is an aim of Sled to support serializable isolation in the future.

Joins

Not Supported

Sled does not support join.

Compression

Naïve (Record-Level)

Sled supports the ability to use the zstd compression algorithm to compress blobs and snapshots. They have to be decompressed first before processing them during query execution.

Indexes

Bw-Tree

Currently, Sled only supports Bw-Tree index. Experiments with an Adaptive Radix Tree or Height Optimized Trie index are left as future work.

Views

Not Supported

Sled does not support views.

Query Compilation

Not Supported

Sled does not support any form of query compilation.

System Architecture

Embedded

Sled is an embedded key-value store, which is designed to be used as a construction component in larger stateful systems.

Foreign Keys

Not Supported

Sled does not support foreign key constraints.

Concurrency Control

Not Supported

Currently, Sled does not support transactions and concurrency control is not supported, too. A Cicada style MVCC is planned to be implemented in the future.

Query Interface

Custom API

Data Model

Key/Value

Sled is a key-value store where keys and values are raw byte strings. It supports atomic single-key operations, including compare and swap operation.

Sled Logo
Website

https://github.com/spacejam/sled

Source Code

https://github.com/spacejam/sled

Tech Docs

https://docs.rs/sled

Developer

Tyler Neely

Country of Origin

DE , US

Start Year

2016

Former Name

rsdb

Project Type

Open Source

Written in

Rust

Supported languages

Rust

Inspired By

etcd, HBase, LMDB, MySQL, Redis, RocksDB

Operating Systems

Android, Linux, OS X, Windows

Licenses

Apache v2, MIT