DEV Community

Discussion on: Welcome Thread - v39

Collapse
 
johanneslichtenberger profile image
Johannes Lichtenberger

Hi all, hi Gergely Orosz,

what brought me here was the Indie Hackers podcast with Ben Halpern I think, really inspiring (just as the Interview with Evan You :-))

I'm working on an Open Source temporal NoSQL document storage system called SirixDB written in Java (and a module in Kotlin) in my spare time. In my day to day job I'm also working as a backend Software Engineer. Besides I'm dancing a lot -- swing dances, mainly Lindy Hop and travel to festivals in Europe often times during my holidays :-)

SirixDB (sirix.io or github.com/sirixdb/sirix) is all about efficient versioning of your data. That is on the one hand it reduces the storage cost of storing a new revision during each transaction-commit while balancing read- and write-performance through a novel sliding snapshot algorithm and dynamic page compression. On the other hand Sirix supports easy query capabilities for instance to open a specific revision by a timestamp or several revisions by a given timespan, to navigate to future or past versions of nodes in the tree-structure and so on. It basically never overwrites data and is heavily inspired by ZFS and Git and borrows some ideas and puts these to test on the sub-file level.

In stark contrast to other approaches SirixDB combines copy-on-write semantics on a per revision and per page-level versioning. It does not require a write-ahead-log for consistency.

It all started around 2006 as a university / Ph.D. project of Marc Kramis and I worked on the project since 2007 and already did my Bachelor's Thesis, Master's Thesis as well as several HiWi-Jobs on topics regarding the project and I'm still more eager than ever to put forth the idea of a versioned, analytics plattform to perform analytical tasks based on current as well as the history of the data.