CondensationDB: A general-purpose distributed database with end-to-end security
github.com
github.com
We’ve been working on a graph/document database with these kind of collaborative revision-control features over at TerminusDB (https://github.com/terminusdb/terminusdb). I think it is the wave of the future. And interestingly we also came out of a European Commission backed project.
Our approach to distribution is to use delta encoding and succinct data structures. We borrowed a fair few ideas from Git. Might be interested to read our storage layer white paper: https://github.com/terminusdb/terminusdb/blob/master/docs/wh...
Conflict free merges sound fantastic - not an easy road! Good luck.
I would be very happy to keep in touch and you have to give me the secret of these European funds.
Very happy to stay in touch! We have a Discord server if you are interested.
The other research db I saw recently I liked was sirix (https://github.com/sirixdb) - I can certainly see some room for cross-over between these two.
For the app itself, its really about getting end-to-end encryption be able to use the app while offline without loosing data.
The beauty of it is that the algorithm decide on how much entries to put in objects to ensure that only the data that is changed is sent on the network and compared on the other client. That's why we call it Condensation.
*: I see that it could be used as backbone for an end-to-end encrypted messaging system, but what would it change for me if I were reading a remote API, running a multi-instance web app or parsing CSVs to train ML models on them ?
The integrity of the data is not shared on the network, each user owns his data, and choose to store it on his desired server. It's really like the email system.
For the article, it really joins the conclusion that you could build google doc, or an IOT system or anything but you will inherent from powerful synchronization, encryption, offline mode and so you can ensure the 7 principles the author of the article characterized.
You could just use a cloud to store massively your data, and pass them through a local server to make sure they are not compromised.
Ah! I see where your inspiration is coming from! It's really interesting when you think of it that way!
I think there is a true need for a decentralized immutable data store (basically get/put/list operations), and it could serve a vast number of use cases. It enables simple algorithmic memoization, complete reproducibility of ML models, and datasets shareability. The only problem is we lack practical solutions. Maybe Condensation could help, or maybe not. In any case, it's good to see more alternative to traditional datastore that are not "git for data".
And yes it really joins your point of horizontal scaling and sharing data in a controlled and secured manner.
RON's reference implementation is C++. Op based sync, CRDT types inside. RON per se is the notation everything is built around.
We used to work without being connected, I got your point we will put a presentation of ourselves in this github page or the website.