1

This question keeps popping up in my mind, do we need centralize database at all for Dapp development like PostgreSQL, MongoDB and more, what if we want to store user's email and send them email everytime? How are those Dapp which require people to add their email address to get news letter e.g Opensea and more, how did they built it, was everything stored on the Blockchain/Ethereum? I understand we need something like gmail for now since we are still at the early stage of web3 and people can only gain engagement/get in touch with users easily with gmail. But my question is, do we abadon centralized database totally while building our dapp on Blockchain/Ethereum?

3 Answers 3

2

No, you definitely still need centralized databases.

Writing data to a blockchain is expensive and slow. Reading is free but slow. You most likely can't use the blockchain as your main data storage, unless your project is very much designed around blockchains.

Sites like Opensea use a lot of traditional databases, and the blockchain only contains the most essential parts, which can be utilized also by external parties (such as users, directly). External parties have no access to the data in the databases.

Some reasons why you need regular databases:

  • Sensitive data: you can't store sensitive data in public blockchains
  • Speed: a lot faster to read and write to a regular database
  • Recording blockchain metadata, such as indexing contract events to be able to answer queries such as "which NFTs does address X own?"
  • Tighter access control
3
  • Firstly, thank you so much for answering my question. Secondly, I get your whole point and the first point was a real thing to consider. But for the indexing part, I thought TheGraph, which is a decentralize database already solve that?
    – Paulliano
    Jul 30 at 12:17
  • Can you pls highlight some few informations we can store on blockchain since it's public and their would be some specific data to store there
    – Paulliano
    Jul 30 at 12:25
  • Sorry, I'm not quite sure what you're asking. Contracts are good for doing simple logic where users don't trust each other. Please post a new question if you have further questions Jul 30 at 14:45
0

There are both centralized and decentralized database. Some Dapps use both of them. There are off chain data protocols like Ceramic and Thread.db and tools like The graph. Arweave and filecoin are used to store data.

2
  • Do all these tools already provide what we need for switching to totally to decentralize database?
    – Paulliano
    Jul 30 at 12:22
  • The Graph is a decentralized protocol for indexing and querying data from blockchains, starting with Ethereum. It makes it possible to query data that is difficult to query directly.
    – RV12
    Jul 30 at 12:33
0

You don't need centralised database because you can use decentralised indexers like

If your application does not run without a centralised database then it is not truly decentralised.

Of course, not all applications can be done purely on-chain yet due to high decentralised state and storage costs, but these costs are coming lower every day.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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