Graviton Database is simple, fast, versioned, authenticated, embeddable key-value store database in pure GOLANG.
Graviton Database in short is like „ZFS for key-value stores“ in which every write is tracked, versioned and authenticated with cryptographic proofs. Additionally it is possible to take snapshots of database. Also it is possible to use simple copy,rsync commands for database backup even during live updates without any possibilities of database corruption.
Graviton Database in short is „ZFS for key-value stores“.
- Authenticated data store (All keys, values are backed by blake 256 bit checksum).
- Append only data store.
- Support of 2^64 trees (Theoretically) within a single data store. Trees can be named and thus used as buckets.
- Support of values version tracking. All committed changes are versioned with ability to visit them at any point in time.
- Snapshots (Multi tree commits in a single version causing multi bucket sync, each snapshot can be visited, appended and further modified, keys deleted, values modified etc., new keys, values stored.)
- Ability to iterate over all key-value pairs in a tree.
- Ability to diff between 2 trees in linear time and report all changes of Insertions, Deletions, Modifications.)
- Minimal and simplified API.
- Theoretically support Exabyte data store, Multi TeraByte tested internally.
- Decoupled storage layer, allowing use of object stores such as Ceph, AWS etc.
- Ability to generate cryptographic proofs which can prove key existance or non-existance (Cryptographic Proofs are around 1 KB.)
- Superfast proof generation time of around 1000 proofs per second per core.
- Support for disk based filesystem based persistant stores.
- Support for memory based non-persistant stores.
- 100% code coverage