"No databases" vs BigMap vs orthogonal persistence

I think the decision to do away with databases was an attempt to avoid things like “eventual consistency” between clients. By having the data exist in the canister directly maybe consistency issues go away.

There is reference to a “Data Subnet” that canisters can be deployed to here. That subnet is not available in Mercury so maybe those would alleviate some issues.

However, I agree that it is very confusing to hear “No Databases” talked about as a feature. I have done some development using multiple databases and have recently landed on one that feels feature rich and solves most of my issues. Moving away from a database that has distributed ACID compliance and scales for me automatically and bills me based only on usage feels like step backwards.

To be honest, I would expect a response to be that we are thinking about this in the wrong way. As a developer, I am much more interested in data management as opposed to data storage. I don’t really care if my data is stored inside the canister or in a stand alone database somewhere else. What I care about are the tools surrounding managing and viewing that data. I think this is why they have BigMap and most likely soon have other similar services that provide functionality to more than just key value pairs.

Looks like someone is trying to port sqlite.

4 Likes