State of Decentralized Databases
Oct 18, 2021 | 4 mins
In our previous FaaS Databases blogpost we covered a number of Serverless databases. This post will focus on next generation databases, operating in the decentralized space.
What is a decentralized Database?
A decentralized database is, you guessed it, a database that doesn’t have a single location where the data lives. That means you could look at the database like sort of a sharded version of your regular RDBMS like Postgres or MySql.
What we won’t look at this time, even though they claim to be “planet scale” horizontally scalable, is Microsoft’s CosmosDB, as we previously covered them in the post mentioned above.
The databases we’ll look into this time are:
Gun, Protecting People’s Privacy. The database is created with total decentralization in mind, the creator (Mark Nadal) has a personal vendetta with monopolistic global corporations like Google, Facebook, and Amazon. He’s also running a bandwidth initiative for net neutrality.
Enough about the origin of Gun. What is under the hood?
The performance of Gun is pretty damn good, but only according to their own measurements. It would be awesome to do a test with a serverless application and a global audience. As far as we could tell the application is only tested on individual machine(s) with a relatively small data set and almost no randomization / cache / index-misses.
Gun’s documentation seems quite ok, most useful being its API documentation.
Next to being decentralized, OrbitDB is also Serverless!.
OrbitDB has its own approach to offline decentralized data. By utilizing IPFS as its storage engine, it’s got some great examples, and actually has companies / use-cases highlighted.
The previous two databases are both great examples of decentralized databases. However, BigChainDB takes it to the next level. It associates itself with blockchain technologies and has quite a few blockchain traits like immutability of objects and voting.
At its core it uses a form of a local MongoDB instance as well as a Tendermint networking layer, which sounds just as complex as it is. The database is fully compatible with MongoDB’s Query Language, which is a great plus, and we can imagine this might work in the favor of many when deciding what database they might use.
BigChainDB is written in Python and has a foundation that seems to be the driving force for new developments on the database. The Name of the foundation is IPDB (InterPlanetary DataBase), which is really close to IPFS, and might be confusing to the untrained eye. This also seems to imply they’re using IPFS at the base of the storage layer, which is not the case.
For anyone that likes to get technical, their Whitepaper contains most details.
It seems the database space keeps compounding innovations. We now have, besides serverless, also decentralized databases that are used in production(like) environments.
All in all, this is great news for the decentralized and serverless ecosystem as databases are usually the base of the application. So, if your database is already fully serverless / decentralized, your application will be next.