#key-value-store #database #serialization #key-value-database

storekey

Lexicographic sort-order preserving binary encoding format for key-value stores

7 releases (breaking)

0.6.0 Apr 4, 2025
0.5.0 Apr 28, 2023
0.4.1 Mar 26, 2023
0.4.0 Jan 14, 2023
0.1.0 Mar 16, 2022

#309 in Encoding

Download history 3359/week @ 2024-12-26 6313/week @ 2025-01-02 7331/week @ 2025-01-09 8051/week @ 2025-01-16 6935/week @ 2025-01-23 6750/week @ 2025-01-30 8007/week @ 2025-02-06 6556/week @ 2025-02-13 8841/week @ 2025-02-20 7786/week @ 2025-02-27 7894/week @ 2025-03-06 9525/week @ 2025-03-13 7231/week @ 2025-03-20 7375/week @ 2025-03-27 9547/week @ 2025-04-03 5882/week @ 2025-04-10

31,715 downloads per month
Used in 92 crates (8 directly)

Apache-2.0

41KB
1K SLoC


Storekey Logo Storekey Logo

Binary encoding for Rust values which ensures lexicographic sort ordering. Order-preserving encoding is useful for creating keys for sorted key-value stores with byte string typed keys, such as EchoDB, YokuDB, IndxDB, TiKV, and SurrealDB.


     

Features

  • Binary encoding whilst preserving lexicographic sort order
  • Useful for creating keys for sorted key-value data stores
  • Aims to encode values into the fewest number of bytes possible
  • The exact type of a serialized value must be known in order to deserialize it
  • Supports all Rust primitives, strings, options, structs, enums, vecs, and tuples

Original

This code is forked originally from bytekey-fix, which is originally forked from bytekey, both licensed under the Apache License 2.0 license. See LICENSE for full license text.

Dependencies

~0.5–1.3MB
~27K SLoC