I am designing a DAPP. I have two options available for storage MongoDB OR Ethereum swarm(OR IPFS). As MongoDB also replicates data to multiple shards fault tolerance is available in MongoDB.

What are advantages and disadvantages of each approach? Why shall I use ethereum swarm(or IPFS) for storing data? Why not MongoDB?

2 Answers 2


Swarm has the advantage of being decentralized, however, it's not a robust database that has querying or indexing. It's effectively a distributed hash table that only stores key-value pairs. You cannot iterate through Swarm. Additionally, you cannot delete data from Swarm.

MongoDB is centralized, but it has a rich querying language that can handle complex queries.

If you don't need a rich querying language, Swarm is fine, but beyond that, you'll want to consider other solutions.


Unlike MongoDB, which is a NoSQL database which is still somewhat a centralized database with a centralized console, Swarm is certainly the preferred choice as it is the native base layer service of the ethereum web 3 stack.

Swarm is funded by the Ethereum Foundation so its tightly integrated with Ethereum.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.