Hi,
as we are working with Ignite in the company I work for, basically for
in-memory Grids and horizontal scaling in the cloud I guess Ignite is
also a perfect fit for adding replication/partitioning to a temporal
NoSQL storage system capable of storing revisions of both XML- and
JSON-documents (could also store any other kind of data) in a binary
format efficiently (https://sirix.io or https://github.com/sirixdb/sirix
-- at least for the storage part itself). It started as a university
project, but now I'm really eager to put forth the idea of keeping the
history of your data as efficiently as possible (minimal storage- and
query-overhead within the same asymptotic space and time complexity as
other database systems, which usually do not keep the history -- for
instance through a novel sliding snapshot algorithm and copy-on-write
semantics at the per page / per record level, heavily inspired by ZFS).
Maybe for the query plan rewriting (the AST of the query) and
distribution Apache Spark is better suited, but for distributing
transaction logs and executing transactions I think Ignite is the way to go.
What do you think?
I just have to finish the JSONiq query language implementation, but
after releasing 1.0 in summer and stabilizing the core as well as
keeping the APIs stable (and defining a spec for the binary
representation, saving some space in page-headers for future encryption
at rest for instance) I'm eager to work on clustering for Sirix :-)
Oh and if you're interested, go ahead, clone it, download the Zip, the
Docker image, whatever and let me know what you think :)
kind regards
Johannes
- Ignite for a temporal (Open Source) NoSQL storage s... Johannes Lichtenberger
-