Blockchain vs Traditional Databases

0xJinbe
Coinmonks
Published in
8 min readApr 4, 2023

--

Traditional Database Characteristics

A database is a collection of information organized so that it can be accessed, managed, and updated. A blockchain is a type of database. But how do you know when a blockchain is the right kind of database and when it might not be the best solution?

src: https://appinventiv.com/

To start with, it helps to understand some of the key characteristics of a traditional database. In this text, we will look at the basics of a traditional database using five basic characteristics. We will discuss network basics, functions, mutability, authorization and transparency of the traditional system. With a better idea of how a traditional database works, you can more easily compare it to a blockchain. First, how does a traditional database network work? Here, data is stored and maintained by a central authority. This authority collects, manages, and owns this information. To gain access to data, users need database administrator authentication. Let’s use an airline as an example.

In this case, the airline is the central authority that collects and owns the data. To access this information, you’ll need to work with the airline or get authenticated to access the information through something like their website. Once you have permission to access the database, there are some roles available for you to work on the data. A traditional database supports four basic functions; create, read, update, and delete. These functions are called CRUD for short. This gives users the flexibility to not only retrieve and add new data, but also remove and change data. This provides a lot of flexibility for the database. For the airline, one benefit of this would be being able to do things like create new flight records or update existing ones.

The functions available in a traditional dataset are set up so that the data is mutable. The data being mutable means that the records can be updated after being added to the database. This can be useful in case an airline no longer offers a specific route. They can delete this data to ensure it doesn’t show up in customer searches. This is useful, but there is also a potential downside to this. A flight can be accidentally deleted or even deleted on purpose by someone trying to harm the system. There’s usually security in place to make sure this doesn’t happen, but it’s definitely possible. Next, let’s look at how authorization is handled in a traditional database. The central authority administering the database is also responsible for handling its authorization. Airlines’ needs can influence how they decide to structure their database and who they grant access to. Users of this system rely on the security infrastructure set up by airline database administrators.

One way to keep data safe is by managing information transparency. In a traditional database, the authority in control of the data grants permissions to its users. They have full control over the permissions for each of the CRUD operations we’ve mentioned. Perhaps you can create data by booking a flight, but you cannot delete it without calling the airline first. This all depends on the permission level set by the authority responsible for the data. As by default all data is restricted, traditional databases are considered to have a low level of transparency. That wraps up this basic overview.

To recap, in this section we discuss five characteristics of a traditional database. Now we know that the network relies on a centralized authority. The functions available in the database are create, read, update and delete known as CRUD. These operations allow you to make changes to the data, which means it is changeable. Security is completely in the hands of the central authority that owns the data. Finally, these databases are generally not very transparent.

This is a high-level overview, but I hope it gives you enough to get some intuition about when a traditional database can be used as an effective solution. Next, we will see how these characteristics compare to those of a blockchain.

Blockchain Database Characteristics

src: https://101blockchains.com/

As you have seen, there are many differences between traditional and blockchain databases. None of the solutions is the best for all situations. It’s helpful to understand when you would use a blockchain, and when it really isn’t the best fit. Now, we’re going to focus specifically on blockchains. We’ll look at a set of questions you can use to help decide if blockchain is the right database solution for your needs. To get the most out of these questions, think of an example where you might want to use a blockchain.

Consider a use case or application you are building, let’s walk through this series of questions to find out if a blockchain is the best solution for your example. Here are the five questions we need to answer, saying yes to any of them doesn’t necessarily mean a blockchain is a good solution. But if you can answer yes to all these questions, then a blockchain is probably a great solution for your application. Let’s go through them one at a time.

First, does the application need a database? This is a pretty broad place to start, but it’s important to make sure you’ve thought through your application’s use case. If you don’t need to store data in a database, then you don’t need a blockchain, and you really don’t need any kind of database for your application.

So next, will the app require shared write access? What this is asking, is whether a collection of users will need access to add or write to the database. Internet and cloud-based applications often have shared write access. Something like Google Sheets was originally conceived as a shared access spreadsheet where Excel was more of an application to use on your personal computer. If your application requires this type of shared access database, you can select yes for this question.

Third, do you need to build trust among users? With a blockchain, you are implementing a system to establish trust between users. This is important whenever they are unable to establish trust on their own. In some cases, your users may already have unified interests in cooperating with each other. They can now trust each other to share only accurate information in the database. It could be an application where trust isn’t even a priority. In any of these cases, a blockchain might not add much value, but in a case where trust is a priority and users cannot trust each other, a blockchain is a great solution. If that’s the case, you can answer yes to this question.

Next, can your application operate without a trusted third party? If you are using a blockchain you are trying to replace the trusted third party. In a case where you would still depend on them to operate, you might consider not using a blockchain. If you can operate without becoming the relying party, you can answer yes to this question.

Finally, can you operate without having control over data permissions? When using a blockchain you will not have the ability to strictly control permissions on what users can access, all data will be shared and owned by the network. For example, if you wanted to make a social media app, but you also wanted to monitor user behavior and block users you don’t approve of, then a blockchain might not be the best choice. If your application can function without having control over permissions, you can answer yes to this question. At this point, if you answered yes to each of these questions, then a blockchain could be an excellent choice for your application. If not, try to consider why you answered no to some of these questions. Is there a way to tweak the idea’s functionality to become something more suitable as a blockchain application? You don’t want to force the use of a blockchain where it’s not needed. Traditional databases are more than capable for many situations. But it’s worth reflecting on some of these ideas, to find out if perhaps you’d like to approach your application a little differently than you had envisioned. This will ensure that you have the best opportunity to build a successful blockchain application.

Choose a type of Blockchain

Knowing the basics of how each type of blockchain works, we can now decide which one is right for our application. We can do this by asking ourselves questions. First, will all transactions be public? In this case, everyone will have full access to network data. If that works for your application, you can choose a public blockchain.

In most situations where a public blockchain will not work, it is because there are some regulations or permissions that a company will need to control over. When working with enterprise data, this is a particularly good time to think about the next question. Will all transactions be restricted to specific users only?

If the answer is yes, then a private blockchain is probably the best option here. Another note though is that this is also a good time to consider whether you need a blockchain. As we mentioned, much of the value of a blockchain is believed to be its open access. It is possible that a private blockchain is the right solution, but be sure to consider the value a blockchain is adding if this core benefit is being restricted.

Finally, ask yourself this question. Should some information be public while other information is restricted? This might be the case if you want to share information between multiple companies, but not make it completely open to the public. If the answer is yes, then a hybrid blockchain could be the right solution in this case. These questions are a great starting point to check any new ideas you may have. To make the final decision, let’s think some more while you consider the unique situation you are facing. Once you’ve decided which type of blockchain you’d like to use, there are still many things to consider about how to implement it.

To understand how this can be implemented, we will investigate the underlying data structures and in the next text, I will go deeper into the types of blockchains that exist as well as the example of Bitcoin. I hope you enjoyed the text and see you next week!

New to trading? Try crypto trading bots or copy trading on best crypto exchanges

Join Coinmonks Telegram Channel and Youtube Channel get daily Crypto News

Also, Read

--

--

0xJinbe
Coinmonks

Brazilian Web3 FrontEndDev | Blockchain educational Writer @coinmonks | Open for projs 🚀https://www.jinbe.dev/