3 ms·
Hi, I had already posted yesterday, but maybe it's of some value for some of you, I still hope at least :-) Sirix.io is all about efficient versioning of your
by lichtenberger 8y ago
Hi,
I had already posted yesterday, but maybe it's of some value for some of you, I still hope at least :-)
Sirix.io 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 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 borrows some ideas and puts these to test on the sub-file level.
It all started around 2006 as a university / Ph.D. project of Marc Kramis and I already spend my Bachelor's Thesis, Master's Thesis as well as several HiWi-Jobs on 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.
I've been working a lot on Sirix.io the last couple of months and spent most evenings after my day to day software engineering Job. I had already posted around christmas, but now I've added a native JSON storage layer besides XML, that is the storage itself, XQuery extensions for JSON for joint XML- and JSON-querying, a RESTful-API also for JSON, added a website, a forum and first documentation... :-) and last night I release version 0.9.0.
So, any feedback, comments, suggestions, just everything is more than welcome. I'll happily (try to? ;)) answer any questions you might have. Happy easter everyone :-)
kind regards Johannes
https://sirix.io https://sirix.io
https://github.com/sirixdb/sirix https://github.com/sirixdb/sirix
- lichtenberger 8y agoOh and I forgot... it for sure supports Diffing capabilities (even an import algorithm for XML-documents currently that tries to find the minimum edit operations to transform a tree into another version of the tree). Once several revisions are stored in Sirix unique IDs are used for comparison and optionally stored hashes can be used by the diffing-algorithms to skip the traversal of subtrees (if the hash-values match). That said, for XML I'm outputting an XQuery Update Script and for JSON-data I have no serialization format as of now. So it's up for discussion basically :-)