The database software landscape no longer consists of a handful of traditional database management system (DBMS) offerings. The database market has exploded with dozens of cloud-based products that range from purpose-built DBMS platforms designed to meet a unique set of requirements to general-purpose technologies that have a much wider scope of application.
It also includes a wide variety of managed cloud database services provided by DBMS vendors, consisting of both database as a service (DBaaS) and data warehouse as a service (DWaaS) offerings. In order to select the appropriate vendor for their organization, data management teams must execute a well-thought-out comparison of the available cloud database choices.
Three of the high-level evaluation criteria that IT professionals often use for a cloud database comparison are the breadth of product offerings, database migration mechanisms and pricing. Based on those criteria, here's an assessment of the four top DBaaS and DWaaS vendors: AWS, Microsoft, Google and Oracle.
Breadth of product offerings
Not only do database administrators (DBAs) need to understand the basics of the cloud database software, they also must learn the intricacies of the vendor's underlying architecture. Using the same vendor for multiple products allows DBAs to extend their existing skills and simplifies communications between different database-driven applications.
AWS, Microsoft, Google and Oracle all offer various types of database systems in the cloud. Let's look at how they compare on the breadth of their cloud database product lines.
AWS. AWS currently leads all competitors on product breadth, with a total of 15 different database engines. Amazon Aurora, its general-purpose relational DBMS, is fully compatible with the MySQL and PostgreSQL open source databases and offers 15 read replicas, automatic failovers and easy scalability; it can also be deployed in a serverless configuration that automatically runs and scales up or down as needed.
Aurora is part of Amazon Relational Database Service (RDS), a product suite that also includes five external database engines: Microsoft SQL Server, Oracle Database, MySQL, PostgreSQL and MariaDB, another open source DBMS. Amazon RDS is also available on AWS Outposts, which allows customers to deploy fully managed SQL Server, MySQL and PostgreSQL databases in on-premises data centers.
The AWS relational database lineup also includes Amazon Redshift, a petabyte-scale data warehouse platform that automates warehouse management tasks and uses built-in machine learning tools to generate predictive insights. It's available in a serverless setup, too.
NoSQL database technologies offered by AWS include a MongoDB-compatible document database called Amazon DocumentDB, Amazon Neptune for graph database applications, the Amazon DynamoDB key-value store, Amazon ElastiCache and Amazon MemoryDB for Redis for in-memory database deployments and the Amazon Timestream time series database.
Amazon Keyspaces is another NoSQL database -- it's a wide-column store that enables customers to migrate Apache Cassandra databases and workloads to the AWS cloud with almost no changes. AWS also offers Amazon Quantum Ledger Database for organizations looking for a ledger database that provides a secure, cryptographically verifiable transaction log.
Microsoft. Microsoft also continues to expand the database product portfolio and capabilities offered as part of its Azure cloud. Microsoft's relational products include Azure SQL Database, its flagship DBaaS platform, and Azure Synapse Analytics for both cloud-based data warehousing and big data applications.
Azure SQL Managed Instance is an offshoot of Azure SQL Database that provides almost 100% compatibility with Microsoft's SQL Server on-premises database software, which makes it easier for customers to migrate existing databases to a managed cloud service. Alternatively, organizations that want to migrate their databases to a self-managed IaaS platform can use SQL Server on Azure Virtual Machines. In addition, Azure SQL Edge is a specialized database system for edge computing that supports data streaming and time series data and includes machine learning and graph features.
Microsoft also offers a multimodel NoSQL database called Azure Cosmos DB that supports document, key-value, graph and wide-column data models, while Azure Managed Instance for Apache Cassandra lets customers run Cassandra databases in the Azure cloud and Azure Cache for Redis can be used to store data in memory for applications that require throughput and minimal latency.
For customers that want to deploy open source DBMS software in the Azure cloud, Microsoft offers fully managed DBaaS environments for MySQL, MariaDB and PostgreSQL.
Google. Although still a bit of an underdog in the enterprise, Google's growing suite of DBaaS products highlights its keen interest in supporting the data management needs of businesses. The Google Cloud unit's aggressive approach to capturing more DBMS market share has led to it unveiling more new cloud database offerings over the past few years than its top competitors.
Its relational database products include Cloud Spanner, a cloud-native distributed SQL database designed for applications that require high scalability, and Cloud SQL, a fully managed service that supports MySQL, PostgreSQL and SQL Server databases. Google also offers AlloyDB for PostgreSQL, a separate DBaaS system that's fully compatible with the open source software and built to provide high levels of performance and scalability. In addition, customers can use Google's Bare Metal Solution for Oracle to migrate on-premises Oracle databases to Google Cloud.
Google BigQuery is a serverless DWaaS platform for storing and analyzing large volumes of data in cloud data warehouses. Google's NoSQL products include Cloud Bigtable, a wide-column store for large-scale workloads, document database Firestore and Firebase Realtime Database, another document store that supports real-time data storage and synchronization to enable multi-device access and collaboration among end users. Google also offers Memorystore, a fully managed in-memory database service that's compatible with Redis and Memcached.
Oracle. Based on Oracle's marketing efforts, it's obvious that the vendor's main focus is to promote its self-driving Oracle Autonomous Database service, which Oracle says can automatically do much of the database configuration, tuning, patching and update work usually done by DBAs. The managed service runs on Oracle Cloud Infrastructure (OCI), Oracle's cloud platform, and can also be deployed in on-premises data centers through the Oracle [email protected] program.
Autonomous Database is a cloud database product suite that includes a version of the DBMS that supports transaction processing and a mix of transaction, batch and light analytics workloads, plus one that's optimized to run heavier-duty analytics workloads in data warehouses, data marts and data lakes. There's also Autonomous JSON Database, a NoSQL document database that supports MongoDB and Simple Oracle Document Access APIs. In addition, Oracle APEX Application Development, a managed cloud service for building low-code applications, is built into Autonomous Database.
Customers that want to run workgroup or departmental cloud databases can use Oracle Standard Database Service, a separate DBaaS offering that also enables organizations to migrate on-premises Oracle Database systems to OCI. Oracle Database Service for Azure is another product that enables users to build applications in the Microsoft Azure cloud and run them on Oracle databases in OCI, using managed services such as Autonomous Database and Oracle Exadata Database Service, which runs Oracle Database on the company's Exadata appliance.
Oracle's DBaaS product line also includes the multimodel Oracle NoSQL Database Cloud Service and MySQL HeatWave, a high-performance version of Oracle's open source relational database that's designed to handle both analytics and transaction processing applications. MySQL Heatwave is now also available in the AWS cloud, making it the first managed database service offered by Oracle on a cloud platform other than OCI.
Database migration and conversion capabilities
The second core evaluation point for a cloud database comparison is the mechanisms that vendors offer to migrate and convert on-premises databases to their platforms. This can be a big differentiator among the top cloud database vendors, as you'll see below.
AWS. The migration and conversion offerings from AWS dominate those of its rivals. AWS Database Migration Service is a comprehensive replication utility that can be used to initially seed your DBaaS platform with data and then keep it in sync with your source system. In addition to replicating data between homogenous sources and targets, the service enables DBAs to set up replication between a wide variety of heterogeneous platforms. That lets customers migrate their databases to the AWS cloud and switch to a different DBMS. The number of source and target systems the service supports and its robust feature set far surpass other migration offerings.
AWS also provides the AWS Schema Conversion Tool, which helps users convert the source database schema -- including views, stored procedures and functions -- to its Amazon counterpart. The tool also scans application code for embedded SQL statements and converts them to access the cloud database software.
Microsoft. Although its initial tool sets focused on migrating on-premises SQL Server databases to Azure SQL Database, Microsoft has been ramping up its efforts to provide utilities that help customers migrate non-Microsoft databases to its DBaaS products.
Microsoft's Azure Database Migration Service can be used to migrate data from SQL Server to Azure SQL Database, Azure SQL Managed Instance and SQL Server on Azure Virtual Machines, but also from MongoDB to Azure Cosmos DB, MySQL to Azure Database for MySQL and PostgreSQL to Azure Database for PostgreSQL. In addition, it enables customers to migrate SQL Server, MySQL and PostgreSQL databases running on Amazon RDS to their Azure SQL Database and Azure Database counterparts.
Google. Google lags behind AWS and Microsoft in cloud database migration and conversion tool sets. Google's Database Migration Service (DMS) helps customers migrate their on-premises MySQL, PostgreSQL and SQL Server databases to its Cloud SQL software and also supports migration of Oracle databases to CloudSQL for PostgreSQL. In addition, DMS can now be used to migrate any existing PostgreSQL databases to AlloyDB, whether they're running on premises, in Google Cloud as self-managed systems or in rival cloud database services.
For homogeneous migrations, Google uses the database's inherent replication features to transfer data. For heterogenous database conversions, such as moving from Oracle to PostgreSQL in Cloud SQL, Google uses a change data capture replication process.
Oracle. Oracle supports numerous methods for migrating its own on-premises databases to OCI, and it now offers Oracle Cloud Infrastructure Database Migration, a managed service for migrating Oracle databases, including ones running in Amazon RDS. To help customers migrate non-Oracle databases to OCI, it relies primarily on Oracle SQL Developer, a tool that includes a migration wizard for moving on-premises databases such as SQL Server, IBM Db2, Sybase Adaptive Server and Teradata Database to Oracle Autonomous Database. SQL Developer also provides a separate migration utility for customers that want to migrate from Amazon Redshift to Autonomous Database.
For no extra cost to cloud users, Oracle also offers Oracle Cloud Lift Services, which gives customers a single point of contact and access to cloud engineering resources and technical tools to help them migrate database and application workloads to OCI.
Cloud database pricing models
The key to preventing sticker shock on cloud costs is to fully understand how the vendor charges for resource allocation and utilization. You don't purchase your cloud database environment -- you essentially rent it and pay usage-based fees, which can vary widely depending on the vendor, database service, system configuration and workloads.
Some of the common factors that affect pricing include the geographic region where the database system runs, the CPUs and computing power, memory and storage capacity, the amount of I/O generated, network bandwidth and disk subsystem performance guarantees, data storage for backups that exceed vendor allocations, high availability configurations and data transfers out of the cloud environment.
AWS. Compared to competitors, its pay-as-you-go pricing mechanisms are more complex. But this complexity is the result of the wide range of database options and features that AWS provides, which enables customers to tailor an environment that meets their workload requirements.
Depending on the DBMS, AWS charges customers based on region, server vs. serverless configurations, CPU, memory, disk, I/O rates, backup storage and data transfers out of its cloud platform. For example, Amazon RDS customers select from a range of database instance types with different pricing to fit their specific use case. The instance types offer different combinations of CPU, memory, storage and networking bandwidth and include general-purpose and memory-optimized options.
Customers can choose on-demand database instances, which are priced by factors such as the hour or second of usage or the number of data reads and writes against the database. Several AWS database services also allow users to reserve instances or processing capacity in advance to get discounted pricing on regular workloads. With Amazon RDS, for example, instances can be reserved for a one-year or three-year period; paying the full price upfront gets the largest discount, and there are also options for partial or no upfront payments.
Microsoft. Microsoft provides two pricing options for its premier cloud DBMS, Azure SQL Database. Customers can use a Database Transaction Unit (DTU) purchasing model, which combines compute, storage and I/O resources into packages for common workloads. Or they can use a Virtual Core (vCore) CPU-based purchasing model that lets them choose between different generations of hardware and select compute, memory, storage and I/O separately. The vCore option also enables customers to choose between a provisioned or serverless computing tier.
Azure SQL Database customers can also group multiple systems together and allocate resources to them as a single unit. The groups, called elastic pools, allow the databases to share the assigned resources. Customers can choose either the DTU-based or vCore-based purchasing models in assigning resources to the elastic pools, and DBAs can assign databases with workloads that spike at different times to a pool reduce overall resource utilization costs.
For Microsoft's open source DBMS offerings, customers can choose the number of vCores and different memory allocation combinations, as well as general-purpose or memory-optimized instances, storage allocations and the number of read replicas, to get different pricing levels.
Google. When compared to Microsoft and AWS, Google's pricing models are simpler and easier to understand. Although Google may not offer the multitude of compute, memory and storage configuration options that its competitors do, customers are still able to select a set of resource allocations at different pricing levels to meet their data processing needs.
For example, users of the Cloud SQL relational database service configure their systems by selecting a region and high availability options and allocating virtual CPUs, memory, storage and network resources. In addition to hourly or monthly on-demand pricing, Google offers one-year or three-year usage commitments that provide 25% and 52% discounts on CPU and memory pricing. The discounts don't apply to storage or network egress pricing, which differs based on the destination of data.
For the Cloud Spanner distributed SQL database, Google charges customers based on the amount of computing capacity, database and backup storage and the amount of network bandwidth used.
Oracle. For its Autonomous Database products, Oracle charges hourly pricing based on the number of allocated Oracle CPUs (OCPUs), which represent the physical CPU cores in a system; one OCPU is equivalent to two x86 virtual CPUs, according to Oracle. Customers can choose a shared server environment or a more expensive dedicated server platform that includes Oracle's Exadata hardware.
Existing Oracle users can also choose a bring-your-own-license option that lets them apply their on-premises database licenses to the Autonomous Database service for lower pricing. Once they've picked the license, deployment and workload type, customers then select the peak OCPU count, the percentage of time they'll need the peak number and a data storage allocation to get an estimated monthly cost.
Oracle NoSQL Database Cloud Service pricing is based on storage capacity and the number of reads and writes, while Oracle Exadata Database Service combines OCPU pricing with a charge for the underlying Exadata system. All of the database products can be priced using Oracle's online cost estimator, and it's obvious when you do so that the vendor spent a lot of time on ease of use in creating the utility.
Limitations and drawbacks
Many of the potential disadvantages of cloud databases are common to all systems running in the cloud. For example, getting a lot of data into and out of a cloud platform can be challenging. In addition, many organizations find that the cloud requires an all-in approach. In order to avoid performance issues, both an application and the database it accesses need to run on the same cloud platform. Data transfers between on-premises and cloud systems adds processing time and creates latency.
Here are some specific issues to be aware of in comparing the top cloud database vendors.
AWS. With its broad and deep suite of cloud DBMS services, AWS environments can be complex to administer and correctly provisioning new systems is challenging. Some reviewers also say that AWS is starting to be undercut on pricing by competitors, including Google, Microsoft and Oracle. In addition, AWS provides limited on-premises offerings through AWS Outposts, which may be an issue for customers that have large in-house data center investments.
Microsoft. Although Microsoft provides a wide range of cloud database offerings, it continues to lag behind AWS in overall cloud services. Azure users that need to build multi-tier and multi-service applications may find themselves writing custom code or purchasing a third-party service to provide capabilities that AWS offers to its customers. Reviewers also state that Microsoft's costs are often higher than similar systems priced on competing platforms.
Like the AWS cloud, Microsoft's environment is highly complex and provisioning can be challenging. Customers that want to use Microsoft's DTU pricing model often find that measuring their existing system's resource utilization to perform the DTU calculations is especially difficult. In addition, Microsoft's cloud migration utilities aren't as robust as what AWS offers.
Microsoft users also need to be aware of potential feature mismatch issues between on-premises SQL Server and Azure SQL Database, which could require some reengineering to fix incompatibilities when migrating databases. The Azure SQL Managed Instance service was developed to provide closer compatibility with SQL Server, but it still isn't 100% compatible.
Google. Compared to AWS and Microsoft, Google's portfolio of cloud database services remains less comprehensive and diverse. Google is rapidly expanding the range of its database offerings to close the gap, but users can expect that there will be some growing pains as it does so.
Oracle. Oracle is known to be pricier than its competitors. Oracle licensing and contract negotiations have always been complex and overly stressful for customers, and this issue continues with its cloud offerings, despite its user-friendly cost estimator. Oracle also has the lowest market share for cloud systems when compared to AWS, Microsoft and Google. In addition, its heterogenous DBMS options are lacking overall, although Oracle is now taking more of a multi-cloud approach with its own database services.