Skip to content

Repository files navigation

SortedBlocks

It is a append-only data structure used in conjunction with custom blocks to persist data on underlying store.

  1. Can be used to create embeded database.
  2. Lock free data structure for reading and writting.
  3. Supports multiple writers without sync, cause of its append nature.
  4. Supports Multi version concurrency.(M.V.C.C)
  5. Supports custom blocks.
  6. Supports consolidation or defrag of store.
  7. Upcoming support for indexing for faster reads.
  8. Out of box support for local caching.

Binary Block Format

This is the format used to append blocks in the store, where each block is formatted as follows.

Block-Body
Byte[]<4294967295Bytes
Index 0 in on LHS
Block-Header
Byte[]<4294967295Bytes
Index 0 in on LHS
Block-Header-Length
UInt32BE4Bytes
Block-Body-Length
UInt32BE4Bytes
Block-Type
UInt32BE4Bytes
Preamble-CRC-16
UInt16BE2Bytes
Preamble-CRC-16
UInt16BE2Bytes
SOB
0x23,0x21(#!)2Bytes
Index 0 in on RHS

About

Append Only data structure usefully for storing sorted data

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages