Database @ Safe in the Published Zone

Hi there,

My first question do you have plans to provide database-like storage over the Safe?
Yes, I’ve read An Overview of Data Types on the SAFE Network | by MaidSafe | safenetwork | Medium article. It’s great, but I think Safe needs to have Modifieable or Mutable data (for the database chards) in the Published Category. Without it will be pretty impossible (IMO) to develop and maintain CMS or similar systems for all SN participants.
The only way as I can see using a simple key/value DB engine (like Dynamo) with an AppendOnly data type.

cheers, Oleg


we have mutable data. They are merkle tree registers. They like the data store are append only and allow updates. This is how the NRS (DNS like) is implemented too.


… and the containers are versioned so you can access every version of your data forever.

For public data this acts like a built in history of all versions of a blog, or any other website. Like having the internet archive built in. No version is ever lost.

P.S. welcome, and if you want to have a play with vdash code while learning Rust that would be great - there are some simple issues you could have a go at fixing too. :wink:


Okay, good to know. And as I can judge, currently there is no SAFE-oriented DB engine?
I’m thinking about implementing it as to taking one of open source project (for example from awesome Top 23 Rust Database Projects (Dec 2022) list) and adapt it to SN api persistence layer?
Need to solve couple of SN-aware issues, like optimisation to avoid unproportional cost, transaction logs (no need, as far as we have already previous data are persisted perpetual), low cost transaction rollback, etc. Maybe use private mutable data to aggregate and/or cache of db shards and postpone sending couple of transaction to the unmutable public area with one block.
Currently I really want to dive into the SAFE api to discuss ever more detailed


good idea! If you have some time and patience (and passion) to assist me, I could start with trivial issues in the vdash project. I promise do not ask why variables ownership/borrow not working :slight_smile:


My time is limited but I will help when I can. I’m not the only source of help out course and can point you towards others, resources I found useful etc.

There’s a ‘learning rust’ topic in the forum which has some resources listed in it:

Pleeeeeease do me a favour and post a reply, any reply, in that thread.
I have posted 3 in a row and am barred from further posts until someone else posts.

I have several rust resources links I wanted to add but couldn’t

Any reply😉

Tyvm the pair of you. :grin:

1 Like