You've heard of serverless computing, which lets you deploy applications without worrying about the underlying infrastructure. But did you know that you can also take a serverless approach to databases?
If not, read on for a look at how serverless databases work, why they are becoming popular, and which serverless database options dominate the market at present.
What Is a Serverless Database?
A serverless database is a database that lets you store, manage, and analyze data without having to manage the underlying host infrastructure.
In other words, when you use a serverless database, you just load your data and run queries on it as you wish. You don't need to worry about ensuring that there is enough storage space to accommodate your data. You may also not need to figure out how to structure or partition the data to ensure optimal analytics operations. These tasks are handled for you by the database provider.
To be clear, serverless databases have underlying infrastructure. But that infrastructure is managed by someone else — namely, the vendor of the serverless database platform — rather than users. So, from the user's perspective, the server essentially doesn't exist.
Serverless Databases vs. Serverless Computing
The same is true of serverless computing, which also eliminates the need for users to manage the underlying infrastructure when deploying applications. Indeed, the serverless database concept was inspired by the serverless computing trend, which was popularized by the launch of AWS Lambda in 2014.
That said, it's important not to confuse serverless databases with serverless computing. They are different types of solutions focused on solving different problems. Serverless compute platforms let you deploy applications; they are not designed for data storage or analytics. Likewise, a serverless database can't host your app. It can just host your data and support analytics operations.
Serverless Database Benefits and Drawbacks
Compared with conventional databases, which require users to set up and administer host infrastructure, serverless databases provide several core benefits:
- Deployment speed: Since you don't have to worry about a setup or initialization process, you can deploy serverless databases quickly.
- Performance: Serverless databases may deliver better performance in the form of faster data queries, especially in situations where users would struggle to optimize the database infrastructure for performance if they managed the infrastructure themselves.
- Cost: Although serverless databases aren't inherently less expensive than traditional databases, they can be more cost-effective because (like serverless computing platforms) you pay only for what you consume. In other words, you don't have to spend money on infrastructure that you might end up needing but don't actually use.
- Reliability: By outsourcing infrastructure management to a serverless database provider, many organizations can achieve higher rates of reliability than they could if they managed their own infrastructure. Vendors that specialize in delivering scalable, fault-tolerant, resilient database infrastructure are likely to do a better job of managing that infrastructure than is the typical IT organization.
On the other hand, serverless databases have some potential downsides:
- Vendor lock-in: Some serverless database platforms are built on top of open-source databases, but they typically involve proprietary add-ons. This makes it hard to move from one serverless database to another without having to learn new types of queries, and possibly restructure your data.
- Expense: While serverless databases have the potential to save money, they may also turn out to be more expensive, especially if you perform a large number of data analytics operations on an ongoing basis. In the latter case, a traditional database may prove more cost-effective.
- Less control: Serverless databases give you less control over how your data is structured and how queries are run. This is a good thing for teams that just want to run generic queries, but it's not ideal if you have very specialized types of data operations, or you want to implement database optimizations that your serverless database platform does not support.
Where Can You Find a Serverless Database?
As the serverless database concept grows in popularity, an increasing number of vendors are offering serverless database solutions. Popular platforms include:
- Amazon Aurora Serverless, a serverless version of AWS Aurora. (Aurora itself is not a serverless database, but by providing automated infrastructure management, Aurora Serverless brings serverless functionality to Aurora.)
- Amazon Athena, which functions as a serverless database service for analyzing data stored in AWS S3.
- Firestore, a serverless database service in Google Cloud.
- Azure SQL Database serverless, Microsoft Azure's main serverless database solution.
- FaunaDB, a proprietary serverless database developed independently from the Big Three cloud vendors.
- MongoDB Atlas, a serverless offering based on the open-source MongoDB NoSQL database.
Serverless databases aren't right for every data analytics use case. But if your data storage and analytics requirements scale up and down frequently and/or you don't want the hassle of managing your own database infrastructure, serverless databases offer a database solution that will be simpler, and possibly also more cost-effective, than conventional database platforms.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.