#size #byte #integer #store #tiny #compression

no-std sourisdb

Database format focused on compression size without using external libraries

4 releases

0.2.1 Oct 24, 2024
0.2.0 Oct 18, 2024
0.1.1 Oct 8, 2024
0.1.0 Oct 7, 2024

#1749 in Database interfaces

Download history 343/week @ 2024-10-07 153/week @ 2024-10-14 156/week @ 2024-10-21 35/week @ 2024-10-28 9/week @ 2024-11-04 8/week @ 2024-11-18 3/week @ 2024-11-25 76/week @ 2024-12-02

87 downloads per month
Used in 2 crates

MIT license

1MB
4K SLoC

sourisdb is a crate designed to provide a size-optimised way of transmitting a key-value store. There are a variety of methods used to achieve this goal ranging from variable-size integers to niche optimisations all detailed within values::Value.

The expected use-case is for web - in testing I've found this to be far more efficient than JSON whilst preserving type information AND providing additional types. Typically, SourisDB stores take around 25% less space than JSON objects even when minified.

sourisdb can also be used for storage on-disk as it is entirely byte-order-agnostic as it deliberately stores everything using little-endian bytes.

Dependencies

~4–16MB
~192K SLoC