Posted on 25.3.2019

Databases in the cloud: Building security and integrity with DBMS

Regardless of your data models, you’ll still need to be able to manage the data. Keeping your records organised manually would require an extensive amount of time and effort. Fortunately, many of the modern databases work well together with an integrated database management system or DBMS for short.

This is our third post for the series about databases in the cloud. We’ll be looking into database management systems, their benefits and performance. If you haven’t read the previous posts in the series, feel free to check out the benefits of cloud infrastructure and cloud-native approach.

Test hosting on UpCloud!

Benefits of management systems

By design, DBMS provides a unified way for users and applications to create, read, update, and manage data stored on your server. Management software is often used in conjunction with databases to serve as a user-friendly interface for the end users and applications.

When operating a database, you will need to take care of more than just the data itself. Part of the task is maintaining the database engine and the schema it follows. A database management system can handle all of that for you.

DBMS creates data abstraction level that allows applications to work independently from the database structures. Due to the benefits of abstraction, DBMS can enhance data integrity and security, and provide locking mechanisms for concurrent access.

Furthermore, with a proper approach to data security, DBMS can also be used to facilitate effective access control. As such, they are often used to manage centralised access to the data. Thanks to efficient scaling, it can allow a practically unlimited number of concurrent users in a controlled and secure manner.

Performance benchmarked

Many of the modern database software includes a management system of some kind. One of the most popular examples of well-versed DBMS comes with PostgreSQL. As a popular database option, it has been thoroughly benchmarked on a number of cloud providers.

One such great benchmark comes from Aiven, who provide fully-hosted and managed cloud database and messaging services on all major cloud providers across the globe. So as experts in all things database, they are able to provide a good insight into database performance in the cloud.

The benchmark compared two different instance sizes with common configurations. All servers utilised the network-backed freely scalable storage that is available on each of the compared cloud providers.

  • 4 vCPU / 16GB RAM / 350 GB
  • 16 vCPU / 64GB RAM / 1 TB

They benchmarked five cloud providers using the trusted pgbench tool included in PostgreSQL installs. The graph below represents the number of transactions per second. Each database was run with 16 concurrent clients for one hour. The test data set was roughly three times the available system memory on the servers to rule out caching.

16 GB RAM instances with network storage

Aiven PostgreSQL benchmark 4CPU

The results show clearly the difference between providers. While most of the providers show similar results between data centres, the peak performance at our Frankfurt DC represents the best outcome in a public cloud without arbitrary limitations.

Of course, a public cloud has the drawback of shared resources. This can be seen in the differences between locations at UpCloud and Digital Ocean. Consequently, if you are likely to need very high performance for extended periods at the time, you should consider the Private Cloud.

Aiven’s second test on a more powerful server configuration can be seen in the graph underneath.

64 GB RAM instances with network storage

Aiven PostgreSQL benchmark 16CPU

They saw a very similar performance on AWS, Google Cloud and UpCloud as in the previous test. In contrast, Azure and Digital Ocean managed far better on a larger server. This could indicate limited storage performance on smaller instances. However, UpCloud and Google Cloud are still way above the rest.

The test servers were configured using the same Linux 4.3.15 kernel and PostgreSQL version 10.0. Also, LUKS full disk encryption and WAL archiving were enabled to include the overhead of backups in the benchmark. You can read the full story at their blog post over at Medium.

Conclusions

The advantages of a database management system are very enticing. Data security is at the top of the list of concerns for anyone privacy conscious and the user-friendly approach will help everyone.

While a good DBMS provide many benefits, they also come with an added overhead in memory and CPU utilisation when compared to simpler solutions. Therefore, being able to objectively asses database performance is an important step towards picking the best solution for your use case.

However, any additional costs from increased resource needs could be easily recouped. The reduced manual labour and time spent on management can save you money by employing efficient use of a DBMS.

Knowledge is power and we want to empower you with the information to find the best solution for your database. This post was the third in our series on databases in the cloud but we have still more to come. Check back later to learn about database-as-a-service and how it could help your project.

Janne Ruostemaa

Editor-in-Chief

Databases in the cloud: The advantages of going cloud-native

In this second post, in our series about hosting database in the cloud, we'll dive into the cloud-native databases.

Long reads

GDPR, ISO 27001 and CISPE Code of Conduct: a guide to European compliance with UpCloud

Headquartered in Helsinki, UpCloud stands at the forefront of the European cloud infrastructure industry, rooted in Finnish traditions of technical and business excellence. Every customer who chooses to partner with us isn’t just selecting a cloud hosting solution; they’re placing their business, their confidence, and their aspirations in the hands of a certified Cloud Service […]

Announcements

Data Sovereignty

Removing the burden of maintenance: Introducing UpCloud Managed Databases!

Managed databases offer a carefree approach to installation and maintenance while providing advantages often only available in high-complexity self-hosted databases. The increase in system complexity then adds costs by requiring continuous attention to upkeep. To solve this headache once and for all, we are excited to be introducing UpCloud Managed Databases! Deploy your database on the […]

Announcements

Product Updates

Back to top