We used to take it for granted that databases should run on hardware. However, this assumption is changing profoundly these days and will continue to change. For our next generation database engineers, they will probably be unfamiliar with hardware like CPU and hard disks and more reliant on cloud services like Amazon S3.
This change is brought by a new database solution—database as a service (DBaaS), in which a service provider installs, configures, and maintains a database in the cloud. Companies who want to use these services subscribe to them. They don’t have a database “on premises,” and they don’t have to worry about major hardware and software investments or scaling their solution. They can increase or decrease the amount of services they use based on their business needs, and the service provider handles the details. Best of all, the company’s staff can focus on higher priority tasks rather than maintaining the database. In this article, I’ll discuss why adopting DBaaS is a must for most companies. I’ll also share my thoughts on why I think it will replace the traditional on-premises databases in the future.
Why DBaaS is the future
Both the database technology and the business model of the entire database industry are undergoing major reforms. Technically, the development of databases is the evolution from a standalone architecture to cloud native. As shown in the diagram below, companies initially had on-premises databases with standalone technology. Then, the “shared-nothing” architecture began to emerge, which laid the foundation for distribtued NoSQL or NewSQL databases. We are currently hitting another transition to cloud native databases. Along with technical evolution comes the business model changes. Traditional database vendors sold licenses for on-premises deployment. However, this becomes a bottleneck when they try to scale the business. With database as a service, users now can subscribe to a fully managed service with flexibility and database vendors can scale up their business with ease as well.
The database evolution
The best example of a successful DBaaS provider is MongoDB. Its market value doubles every year and is now more than $30 billion USD. Its DBaaS product, MongoDB Atlas, has maintained a compound annual growth rate of more than 100% each year. This shows the enthusiasm with which companies—some of whom may be your competitors—are adopting DBaaS. That is why cloud services matter.
Benefits of DBaaS
It’s not difficult to conclude from the DB-to-DBaaS trend that shifting from on-premises databases to DBaaS is where the industry is heading. Only cloud services can break through geographical restrictions and provide users with unlimited computing resources. The benefits brought by DBaaS are paramount both in the senses of technology and business. Here we will explore the benefits from the technical side.
Cost reduction with a decoupled architecture
Cost reduction is the ultimate goal for the cloud-native technology. Let’s take TiDB, an open source distributed database, for example. As shown on the left side of the diagram below, before TiDB was deployed on the cloud, it had a coprocessing engine for both its computing and storage layers, which blurred the boundary between computing and storage and made it hard to handle scenarios with different workloads. If you wanted to increase the storage capacity, you needed to increase the number of storage nodes. But this created a problem. Due to hardware limitations, you would also have to increase the CPU and internet bandwidth at the same time. This will waste resources.
Architecture change after TiDB was deployed on the cloud
As shown on the right side of the diagram, after TiDB was deployed on the cloud, everything improved. The latest gp3 volumes of the Amazon Elastic Block Store (EBS), a block-storage service, could be run on different computers with the same input/output operations per second (IOPS) at the same cost. So if TiDB is deployed on EBS, we can move the boundary between computing and storage downward. TiDB nodes and TiKV nodes can handle computing workloads together with flexibility.
The cloud can save more computing resources. CPU is the most expensive resource on the cloud, and its bottleneck is computing—not capacity. With databases on the cloud, it’s possible to optimize clusters and spot instances based on shared resource pools, select storage services on demand, and deliver different Amazon EC2 instance combinations for different scenarios. The serverless and elastic computing resources are possible as well.
Database deployment on the cloud also enables better resource isolating among the storage, network, memory, and even CPU cache. This is because different software programs, especially distributed ones, require different hardware resources and are used by different businesses. With cloud, you can select and combine resources on demand and reduce the cost even more.
Data security is another important benefit of DBaaS. The DBaaS users can use their own Virtual Private Cloud (VPC) accounts to access their business on the cloud while the database provider cannot get access to that data.
The security system on the cloud is completely different from and more complicated than that off the cloud. For example, when you build an on-premises database, you only need to consider the permission of the role-based access control (RBAC) inside the database. But on the cloud, things are complicated. To guarantee data security, a complete set of security systems are built involving every layer of data flow from network to storage.
Automatic operation and maintenance
One of the most annoying pain points for on-premises database providers is the heavy labor force for operation and maintenance during the delivery process. Sometimes, providers must send 20 staff members or more to support one customer during delivery. This is unsustainable in the long run. DBaaS can bring you automatic operation and maintenance and makes it possible to scale up your business with a light support and delivery team.
I truly believe that DBaaS is the future of databases. It is cost-effective, data secure, regulation compliant, and capable of enabling automatic operation and maintenance. I hope we can all enjoy and appreciate DBaaS soon—anywhere at any scale.
Try TiDB Cloud Free Now!
Get the power of a cloud-native, distributed SQL database built for real-time
analytics in a fully managed service.
A fully-managed cloud DBaaS for predictable workloads
A fully-managed cloud DBaaS for auto-scaling workloads