#key-value-store #order #key-value-database #database #tuple

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

#211 in Encoding

Download history 7242/week @ 2025-01-08 7928/week @ 2025-01-15 7567/week @ 2025-01-22 6535/week @ 2025-01-29 7882/week @ 2025-02-05 6855/week @ 2025-02-12 8223/week @ 2025-02-19 8214/week @ 2025-02-26 7469/week @ 2025-03-05 9506/week @ 2025-03-12 7705/week @ 2025-03-19 7347/week @ 2025-03-26 8968/week @ 2025-04-02 7682/week @ 2025-04-09 6502/week @ 2025-04-16 8448/week @ 2025-04-23

33,143 downloads per month
Used in 93 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
~26K SLoC