https://github.com/balta2ar/prollykv
https://github.com/balta2ar/prollykv
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/balta2ar/prollykv
- Owner: balta2ar
- Created: 2025-03-08T14:29:48.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-03-14T14:15:02.000Z (8 months ago)
- Last Synced: 2025-03-14T15:27:23.654Z (8 months ago)
- Language: Go
- Size: 1.97 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Prolly tree projected onto key-value storage
- [_] node
- [_] tree
- [_] iterator
- [_] encoder
TODO
+ currently we read all values on level0, but that's problematic:
- if we store several trees / generations, all of them will be read
+ need to store root for each generation: `root:generation`
+ then Deserialize starting from that root and read only the relevant level0 nodes
- problem: the tree currently doesn't store children hashes in the nodes
- we store hashes and keys (boundaries), but if we store multiple generations, that's not enough
+ switch key from int to string so that I can experiment on user library
+ build trees for the latest N generations of a library
+ sample data
+ see how storage size grows vs naive approach (saving JSONs) -- sample data
- igor's data
- igor's data growth
- partition storage by adding prefix, e.g. based on generation / timestamp
- make a db to index changes between generations
- kv iterator so that I can use it in Diff, compare on KV level without loading the whole tree