In The Year 2020, Your Database Should Be On A Cloud Platform
By Nas Mouti, PhD
LAST UPDATED 1 year, 11 months ago
We are witnessing a true revolution in data technology in general, and databases in particular. Cloud technologies have made it possible to leverage supercomputing resources for everyday applications. New database technologies like MongoDB and Hadoop have emerged as fully scalable solutions from the ground up – a radical departure from the traditional relational database model. Today, even some relational databases can scale horizontally on the cloud, something previously thought impossible by many.
Thanks to cloud computing, we are today able to perform operations at a lower cost and radically faster.
There have been in the past legitimate concerns over cloud-based databases, aka database-as-a-service or DBaaS. As we enter the twenties, these concerns have been virtually all successfully addressed.
In my opinion, in this day and age, there are only upsides to going cloud-based:
Peace of mind
Multiple technical layers of complexity are abstracted away in cloud databases. Issues like configuring your server to communicate with your network, or adding a node to your database, don’t add any value to your business. In cloud databases, these are handled by your cloud provider.
You might think a SQL server on an existing machine on-premise is cheaper than paying for a cloud database, but that reasoning does not include expenses like labor and opportunity cost. Peace of mind entails that you will rarely have to divert the time and effort of an employee to fix problems that bring no value to your business. Also, a cloud database doesn’t require hefty licensing fees and maintenance contracts.
The bulk of security is handled by your cloud provider. You typically have to define and customize your security policies, and the provider will handle the rest. If you don’t have someone on staff to do that, you can hire a cloud consultant for a limited time. Enterprise-level databases have dedicated staff members to deal with cybersecurity. With DBaaS, your provider deals with that, potentially saving you big.
Redundancy and back-up
Another pain-point that cloud databases address is failure readiness. In the case of network downtime, you can configure your databases to store data across multiple machines, data centers, and geographical regions, to ensure continuous data availability. This also reduces the chances of data loss, even in the event of a major disaster. An uptime guarantee of 99.9% is common in cloud-based databases, something unheard of in in-house databases.
You probably heard that SQL databases are quasi-impossible to scale horizontally. That is not true anymore with Google Spanner, which makes it relatively straightforward for a data professional to add nodes to a SQL database. We now have the possibility to scale any kind of database, SQL or NoSQL, infinitely, and sometimes automatically, thanks to cloud services.
Not only can you scale your base to meet growing demands, but you can also configure your base to automatically scale up to ride out a spike in demand then scale its free up resources when it no longer needs them. This is called a pay-as-you-go model is not only cost-effective but incredibly reliable and ensures quality steadiness.
A data warehouse like BigQuery will leverage thousands of CPU cores to execute a query in a terabyte database in a fraction of a second. Such a query would take hours in an in-house solution. What’s more, it comes at no extra effort to you and you only pay for the time you used those resources. The whole process takes place behind the curtains and the user only has to submit a SQL query just like with an in-house database.
In this day and age, it is hard to argue against cloud database solutions, as few downsides can be thought of. Even if your application is tiny, it is still better and cheaper to use a cloud database, as many cloud providers don’t charge below a certain usage threshold. There has never been a better time to set up a database, as virtually all options are wide open and at the tip of our fingers. It is now possible to query terabytes in seconds instead of hours, at a tiny fraction of the cost of an in-house solution. Information security has never been easier to set up, and scalability happens automatically. Finally, availability and uptime have never been higher before. Yes, your database should be on the cloud.