Data storage in the cloud, which type do you prefer?
Choosing a type of data storage is a fundamental design choice.
Possibilities for software development have changed drastically over the last couple of years. Ore more precisely, a lot of new options have arisen. The final breakthrough and continuous expansion of the cloud have produced a larger selection, such things as, processing power and data storage than ever before. And while there's even a ‘decision tree’ to help choose the right kind of processing power in platforms such as Microsoft Azure, it is much harder to decide on the optimal type of data storage. In this article, we try to provide insight into the reasons for this and to help you make the right choice for your situation.
“The good old days”
In the past, the choice for data storage was generally simple: use a relational database. The reason for this was as practical as it was limiting, namely that relational databases were often (the only ones) available, both in terms of software and employee knowledge. *
Because the database usually ran on its own hardware, the first solution to performance problems was often faster hardware. The cloud model of relational databases is different. Performance problems cannot simply be solved with heavier hardware. Of course, you can scale up to a faster version, but that also increases the (recurring!) Costs.
Different types of data storage
Relational databases are not ‘outdated’. No, in fact, they are still immensely popular. But only for the right data. Experience will help you determine what is ‘the right data’. Or you can use documentation that provides insight into this subject.
Besides relational databases, there are also data storage categories such as:
- Document database (NoSQL)
- Key/value storage
- Graph database
- Search engine database
Modern business software processes increasing amounts of data, both from internal and external sources. This causes diversity in the data characteristics and the way in which these need to be processed. That is why it's often better to use different types of data storage, depending on the form and need for each data set. Such systems, which use different types of data storage, use so-called polyglot persistence.
Does this mean you need to go back to the drawing board? That you need to revise the entire data structure of your application? Fortunately, in many cases, a critical review can provide sufficient insight to make this unnecessary. You can dissect and optimise the data structure by searching your current data structure for data that is more suitable for another type of data storage.
Choosing the type of data storage is a fundamental design choice. To do so, it's important to start by determining what category of data storage is most suitable. Once you've selected a category, you look for the right type of data storage in that category. When making this selection, keep in mind aspects such as costs, available features, and ease of maintenance.
If it turns out you've made less than perfect, you're not necessarily looking at additional costs you have to switch, since you don't have to purchase hardware or licenses in the cloud.
It goes without saying that some companies had more than just a relational database. And some employees were knowledgeable about several systems. However, the majority still felt “Data? That belongs in a database”. And that still applies in many situations.
Data storage in the cloud
Data storage in the cloud