Hacker News new | past | comments | ask | show | jobs | submit login
I'm Engineering a Versioned Database Storage Engine for Byte-Addressable NVM (hackernoon.com)
2 points by eaguyhn on Dec 26, 2019 | hide | past | favorite | 1 comment



Disclaimer: Author here.

Thank you for posting :-) While the storage system is based on a system called Treetank with a longer history it turns out that Marc Kramis, who came up with the first ideas and a first implementation for his Ph.D. had a tremendous vision about the future of persistent storage (for instance fast random reads in conjunction with fine grained access to storage) and that we can shift our focus from clustering constraints of traditional B+-trees to a storage engines which stores a dense distribution of unique, dense strictly sequential 64bit integers in a keyed persistent, durable trie.

His report "Growing Persistent Trees into the 21st Century" is from 2008:

http://kops.uni-konstanz.de/bitstream/handle/123456789/5914/...

SirixDB strictly drops the requirement of a predefined block-size as well as clustering. It even versions data pages, which are stored in small sized variable-length byte arrays. The whole tree of a revision is based on many tries and revisions are indexed as well as AVL trees for secondary indexes.

The system is also heavily inspired by ZFS and some of their design decitions put to test on a sub-file level.

Any help in putting forward the vision of a versioned, persistent (in the functional data structure sense) data store would be amazing :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: