Cloud Database Services Compared: AWS, Microsoft, Google, and Oracle
Running a database server is an expensive undertaking requiring a lot of effort. Managed cloud database services offer several options, but which one is best?
Join the DZone community and get the full member experience.Join For Free
Running a database server is an expensive undertaking. You need to buy costly hardware, especially if you need your server to be fully redundant and resilient to errors. You need a monitoring system to keep track of its health, and you also need specialized staff to keep the database running smoothly.
Even if you run your database on cloud hardware, maintaining the server requires a lot of effort. This is especially true if you're running a specialized database for applications like time series or column stores.
Managed cloud database services address most of these problems. You don't need the hardware, resiliency is baked in, and the cloud handles most of the administrative chores for you.
AWS, Microsoft, Google, and Oracle all managed database services. Let's look at how they compare.
AWS has the broadest product offerings, with many database offerings. They cover the relational and NoSQL market well, with a variety of proprietary and open-source compatible databases.
RDS is a managed database engine that supports MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, and Oracle database engines. You can configure up to 6TB of storage with five live replicas, and configure fail-over across multiple availability zones.
Amazon's Aurora is a fully managed relational database engine. It's fully compatible with MySQL and PostgreSQL and offers exceptional performance with read replicas, automatic fail-over, and scalability. There's also an option to run Aurora in a serverless configuration that scales up and down on demand.
Aurora offers better performance than RDS but is more expensive.
Redshift is another relation database offering from AWS. It's a data warehouse that supports petabyte-scale databases and will perform analysis on large stores of unstructured data.
AWS has many NoSQL offerings including:
- DocumentDB: MongoDB-compatible document store
- Neptune: Graph database
- DynamoDB: Key-value store
- ElastiCache/MemoryDB: Redis-compatible in-memory databases
- TimeStream: Time series database
- KeySpaces: Apache Cassandra compatible column-store database
Microsoft's Azure has a wide set of database offerings, too.
Azure SQL Family
Azure SQL is Microsoft's SQL Server in the cloud. It's available in several configurations, depending on the version you need and how you want to use it.
You can run Azure SQL on an Azure Virtual Machine, or connect to Azure SQL Database, a managed instance of the latest version. For clients that need backward compatibility, Azure SQL Managed Instance boasts nearly 100% compatibility with the Enterprise editions, going back to SQL Server 2008.
Azure SQL Edge is a specialized version of SQL server with support for streaming and time-series data.
Azure Synapse Analytics
Azure Synapse offers enterprise analytics. It's a data warehousing product that uses Apache Spark and other technologies for managing data warehouses and lakes.
CosmosDB is a managed NoSQL database. It supports document, graph, wide-column, key-value, and graph data models.
Managed Instance Cassandra
Azure also supports managed Cassandra instances for running the open-source column database in the cloud.
While Google's Cloud Platform lacks the depth and breadth of AWS' and Azure's database offerings, it still has a lot to offer.
- Cloud Spanner is a distributed SQL database with high scalability and throughput. It offers global replication, low maintenance, and handles sharding automatically. Google released a PostgreSQL interface for Spanner in 2022.
- Cloud SQL is a fully managed relational database service that supports MySQL, PostgreSQL, and SQL Server.
- Bare Metal Oracle: Fully certified infrastructure for running Oracle databases in the cloud
- BigQuery: A serverless and highly scalable data warehouse for storing and analyzing large volumes of data.
- Cloud BigTable: A wide-column store for large-scale workloads with billions of rows
- Firestore/FireBase: A document database
- MemoryStore: Managed Redis and Memcached compatible services
- Astra: Managed Cassandra service on GCPl not managed by Google
Oracle offers its Autonomous Database, a cloud database suite that includes their database engine with machine-learning tools and an extension that simplifies modeling data, ETL, and database administration. It runs on Oracle Cloud Infrastructure (OCI).
Teams that want a more traditional offering can run Oracle Standard Database Service. It's suited for migrating databases from on-premises services, or traditional relational jobs.
So which offering is best? There are so many choices that there's no correct answer.
AWS has the broadest selection, but many of them are platform-specific and lock you into their cloud. Microsoft is a close second, but most of their offerings emphasize their products.
All the vendors have a MySQL implementation, while only Oracle lacks a PostgreSQL and Cassandra implementation.
So the good news is, if you stick to open-source database technologies, you'll probably find a home in any of the major cloud providers, and can base your choice on location and price.
Opinions expressed by DZone contributors are their own.