#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

#1738 in Database interfaces

Download history 247/week @ 2024-10-02 102/week @ 2024-10-09 162/week @ 2024-10-16 154/week @ 2024-10-23 26/week @ 2024-10-30 5/week @ 2024-11-06 2/week @ 2024-11-13 6/week @ 2024-11-20 16/week @ 2024-11-27 90/week @ 2024-12-04 59/week @ 2024-12-11 21/week @ 2024-12-18 9/week @ 2024-12-25

187 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
~193K SLoC