The global cloud database and DBaaS market stood at a value of around USD 12.2 billion in 2020. The market is expected to grow at a CAGR of 15.9% in the forecast period of 2022-2027 to attain a value of USD 29.6 billion by 2026.
Organizations today, are dealing with large amounts of data. Whether it is related to their customers or the product or service – data is serving as a foundation for making crucial and strategic business decisions. As the number of data increases, organizations need access to reliable database solutions to manage this data and keep it safe. Hence, the move to cloud databases.
What is a cloud database?
A Cloud database is a database service built on a cloud infrastructure. It is like a traditional database – with added benefits of cloud computing.
Common features of a cloud database include:
- Anywhere, anytime accessibility – as it is built and accessed through a cloud platform
- Can be hosted without requiring any dedicated hardware
- Can be managed by the organization or offered as-a-service
- Can be accessed through vendor-provided API or a web-interface
The major advantages of moving to a cloud database are scalability, easy accessibility, and security.
Types of databases
1. Relational Databases
Oracle defines a relational database as, “A relational database is a type of database that stores and provides access to data points that are related to one another.”
So, in a relational database management system (RDBMS), data is stored in a relational and intuitive manner. Here, each table row is a record with a unique ID – known as the Key. This helps establish relationships between different data points.
These are structured databases.
Common examples include the students’ records in a school database or customers’ records in a company. By using common columns like the customer ID or student enrollment numbers, you can extract different information pertaining to a particular cause or requirement.
When it comes to RDBMS, there are four crucial properties that define their transactions – atomicity, consistency, isolation, and durability (commonly referred to as ACID transactions). These databases use structured query language (SQL).
2. Non-relational databases
Non-relational databases do not store data in a relational manner. In other words, there is no tabular form of data. They are much more flexible than relational models as they have no fixed structure. Different types of data can be stored in this format. They are a perfect fit when you need to store large amounts of non-related data.
They are sometimes referred to as NoSQL (not only SQL) databases as well. A NoSQL database is one that does not use SQL queries.
AWS Vs Azure Vs Google Cloud: Database Comparison
Many enterprises today are shifting from on-premises database solutions to cloud databases due to their flexibility. Gartner predicts that by 2022, 75% of all databases will be deployed or migrated to cloud platforms.
However, what are the top choices when it comes to cloud database solutions?
To help you decide, let’s discuss the top 3 popular cloud database service providers – AWS (Amazon Web Services), Microsoft (Azure), and Google Cloud – their breadth of product offerings, migration mechanisms, and pricing flexibilities.
Basic Overview – Product Breadth
1. AWS Cloud Databases
AWS offers a wide range of cloud databases – purpose-built to meet different requirements. The databases are fully managed to help businesses save time spent on database management tasks like server provisioning, backups, and patching.
With features like continuous monitoring, automated scaling, and self-healing storage – it helps businesses focus on application development.
AWS databases are known for their high scalability. It is suitable for all types of application development needs. One can start small and scale up as the business grows.
1.1 Relational Databases by AWS
a) Amazon Aurora: The RDBMS service by AWS is built for the cloud and is fully compatible with MySQL and PostgreSQL. With Aurora, you can get the performance of commercial grade enterprises at one-tenth the cost. Benefits:
- Get support for high-performance and multi-tenant application development.
- Pay only for capacity consumed.
- Get multi region scalability and ability to deploy globally distributed applications.
It is ideal for developing applications like customer relationship management (CRM), enterprise resource planning (ERP), supply chain, billing applications, etc., for building SaaS (Software-as-a-Service) applications with flexible instance and storage scaling.
b) Amazon RDS: Amazon Relational Database Service (Amazon RDS) is a collection of high-performing managed services that allows you to set up, operate, and scale databases in the cloud with complete flexibility and cost efficiency.
You can choose from popular engines SQL Server, Amazon Aurora with PostgreSQL, Amazon Aurora with MySQL, MariaDB, Oracle, and PostgreSQL. It can also be deployed on-premises with Amazon RDS on AWS Outposts service.
It is ideal for building web applications with high scalability requirements.
c) Amazon Redshift: The Amazon Redshift cloud database warehouse service is designed to help customers analyze exabytes of data and run complex analytical queries.
With it, organizations can run and scale analytics within seconds without worrying about the warehouse infrastructure.
It helps break free from data silos and gain real-time predictive insights. It is ideal:
- For building and running financial and demand forecasts applications.
- For easily and securely sharing data among organizations, partners, and departments.
- For building insight-driven dashboards using business intelligence tools like Microsoft PowerBI, Tableau, Amazon QuickSight, etc.
1.2 Non-relational (NoSQL) databases by AWS
Amazon DynamoDB NoSQL database service is ideal for building and delivering apps with consistent single-digit millisecond performance backed with automatic multi-region replication.
With an SLA of 99.999%, it offers high security and reliability.
Other features include built-in security, in-memory caching, continuous backups, data import, and export tools. It is ideal:
- For developing software applications with high concurrency and connection requirements.
- For creating media metadata stores with high throughput.
- For deploying shopping cart applications.
- For creating inventory tracking and customer profile applications.
Amazon DocumentDB (with MongoDB compatibility): Amazon DocumentDB (with MongoDB compatibility) is a fully managed document database service with the ability to scale JSON workloads with ease. It can support millions of documents read requests per second by scaling storage and compute independently. It offers 99.999999999% durability with continuous backup, automatic replication, and strict network isolation.
- Ideal for Content Management System (CMS) applications as it can help improve customer experiences with reliable and fast access to images, reviews, etc.
- For managing customers’ user profiles and setting up preferences.
- For building applications that can scale to process millions of user requests per second with millisecond latency.
Apart from the general-purpose NoSQL databases we discussed above, Amazon also offers other types of NoSQL databases like in-memory, graph, time series, wide-column, and ledger. We will not be going into the details of these, but here’s a short description for databases in these categories:
1. Amazon ElastiCache: It is an in-memory NoSQL database service offered by AWS that offers microsecond latency and high scalability for boosting application performance. It can also help organizations reduce costs and eliminate the operational overheads associated with self-managed caching.
2. Amazon MemoryDB for Redis: It is also an in-memory database that is Redis-compatible. It can help organizations build applications on Redis and access data with ultra-fast performance. It uses Multi-AZ transactional log for fast database recovery and restart.
3. Amazon Keyspaces: Apache Keyspaces (for Apache Cassandra) is a wide-column database service by AWS. It allows users to run Cassandra workloads on AWS with ease. It is a serverless service, so the users need to pay only for the actual resources consumed. It is ideal for building applications that serve thousands of requests per second with unlimited throughput and storage.
4. Amazon Neptune: It is a graph database service ideal for building and deploying high performance graph applications using popular open-source APIs like openCypher, Gremlin, and SPARQL. Applications built on Amazon Neptune can execute more than 100,000 queries per second.
5. Amazon Timestream: This time-series database service by AWS is ideal for IoT (Internet of Things) and operational applications that makes it easy to store and analyze multiple events per day up to 1,000 times faster and at little as 1/10th of the cost of relational databases. It is serverless and thus can automatically scale up or down to adjust performance or capacity.
6. Amazon Quantum Ledger Database Services (QLDB): The ledger database service by AWS can help organizations maintain an immutable, cryptographically verifiable log of data changes. It can be used to build event-driven systems with QLDB ACID transactions.
2. Azure Databases
2.1 Relational Databases by Azure
Azure SQL Database is a fully managed intelligent relational database service built for cloud applications. It is always up to date with automatic updates, provisioning, and backups. This gives more time to innovate with the end users. As it is serverless, it supports high scalability needs and quickly adapts to changing application requirements.
When it comes to security, it has multiple layers of protection and intelligent threat detection to help keep the data secure. It has an SLA of 99.995%. The built-in AI and high availability are ideal for maintaining peak performance and durability.
- It can help users save with a lower total cost of ownership (up to 80 percent) by combining the service with Azure Hybrid Benefit.
- It uses Always Encrypted technology to protect the applications’ data. The encryption keys are hidden from the SQL database engine.
- It supports automatic scaling based on workload demand.
Azure Database for PostgreSQL is a fully managed and intelligent Azure database that can scale application workloads quickly and with ease and confidence. It offers SLAs up to 99.99 percent – making it highly available.
As the service is fully managed, it can automate tasks like maintenance, updates, and patching. It supports various PostgreSQL extensions like PostGIS, Cron, and PLV8 to help developers pick their favorite platform easily.
- Developers can leverage Hyperscale (Citus) Basic as a cost-effective alternative for testing and growing workloads.
- It offers a simplified developer experience – with customized maintenance windows, burstable instances, zone-redundant high availability, and start-stop capabilities.
- It offers enterprise-grade security and compliance. Data is encrypted at rest and in motion.
Azure Database for MySQL is a fully managed MySQL database. It is highly cost-effective and easy to set up and operates. It supports high scalability. It supports the automation of key database server tasks like maintenance, routine updates, backups, and security. It supports a 48 percent lower cost of ownership with features like burstable instances, paying for storage only when the database is stopped, etc.
- It is built with the latest MySQL Community Edition using existing tools, programming languages, and drivers.
- It supports easy provisioning and scalability with AI-powered database monitoring and optimization features.
- It helps in building resilient, responsive mission-critical apps with features like user-controlled maintenance windows, IOPS provisioning, and server parameter configuration.
SQL Managed Instance is an intelligent and scalable cloud database service by Microsoft that brings together the capabilities of SQL Server Engine, backed with a fully managed server.
It has built-in capabilities of Azure-arc to help bring Azure innovation and cloud benefits on-premises.
- It is supported by the broadest SQL server compatibility on a fully managed service.
- It offers cost savings of up to 55% compared to pay-as-you-go pricing when reused with SQL licenses with Azure Hybrid Benefit.
- It is built on familiar tools and gives the same experience as offered by SQL Server Codebase.
SQL Server on Virtual Machines helps users migrate SQL Server workloads to the cloud. It offers twin benefits to the users – allowing them to get the performance and security of SQL servers and the flexibility and hybrid connectivity of Azure. With it, developers can build applications with lower TCO and get free built-in security and automated management by registering virtual machines with the SQL Server IaaS Agent extension.
- It offers high availability and disaster recovery benefits.
- It offers free, built-in security and management.
Azure Database for MariaDB is an enterprise-ready, fully managed community MariaDB service that can be used to easily deploy applications to the cloud. With flexible pricing, you can choose between the right resources for your workloads. The built-in high availability and elastic scaling can help you achieve high business continuity.
- Leverages Azure IP advantage for getting unparalleled security and compliance.
- Works with all popular open-source frameworks and languages.
- Automatic patching, backups, and built-in monitoring and security – at no added cost.
2.2 Non-relational Databases by Azure
Azure Cosmos DB is a popular NoSQL database service that is fully managed and serverless. It is designed to support high-performance applications of any size or scale. You can get guaranteed single-digit millisecond performance and 99.999 percent availability.
With multi-region writes and data replication, it supports easy fast writes and reads anywhere in the world.
- It uses Azure Synapse Link to get insight over real-time data with no ETL (extract, transform, load).
- Ideal for mission-critical applications with 99.999 percent availability and continuous backup with point-in-time restore.
- Fast and flexible app development with SDKs for popular languages.
Azure Cache for Redis is an in-memory distributed database solution that helps you build super-fast applications and scale them easily. It is fully managed and hence supports automatic patching, scaling, updates, and provisioning. It offers superior throughput and performance to handle millions of requests per second with down to sub-millisecond latency.
3. Google Cloud databases
3.1 Relational Cloud Databases
a) Cloud SQL
Cloud SQL is a fully managed relational database service for MySQL, PostgreSQL, and SQL Server. It contains rich extensions, configuration flags, and developer ecosystems. Developers can automate regular time-consuming server maintenance tasks like provisioning and storage capacity management. It can also easily integrate with other Google Cloud services like BigQuery and GKE.
- Supports data encryption at rest and in transit for security and compliance.
- Can be set up in minutes with the help of standard connection drivers and built-in migration tools.
- Automatic failover support with easy replication and backups to offer maximum reliability.
Cloud Spanner is a fully managed relational database service by Google Cloud. It offers up to 99.999% availability with unlimited scaling support. Developers can start small and scale as per their needs. The built-in automation capabilities help eliminate manual tasks like automatic sharding. It is globally distributed and supports ACID transactions.
- Supports global scalability with all the features and benefits offered by SQL queries.
- Offers 99.999 percent availability for multi-regional instances.
The fully managed PostgreSQL-compatible database service by Google is ideal for legacy applications and enterprise workloads. It combines the best of Google with popular open-source database engines for faster scalability and availability. It offers 4x faster performance than the standard PostgreSQL for transactional workloads.
- ML-enabled autopilot systems to manage database patching, scaling, backups, and replication.
- Offers high availability with 99.99% uptime SLA.
- Offers 100x faster analytical queries with zero impact on performance.
The fully managed database service by Google allows users to bring their Oracle workloads easily to Google Cloud with minimal risk. Users can leverage complete Google Cloud features with less than 2 ms (millisecond) latency. The billing and support are provided by Google Cloud.
- Supports end-to-end infrastructure management including compute, networking, and storage.
- Supports fully managed data center operations like data monitoring, power, cooling, smart hand support, etc.
- Supports demanding compliance requirements with industry certifications like ISO, HIPAA, PCI DSS, etc.
BigQuery is a relational database service offered by Google Cloud. It is a serverless and highly scalable multi-cloud data warehouse service. It is commonly used for building applications that support multi-cloud analytics, real-time processing, and machine learning. It offers high availability with a 99.99 percent uptime SLA.
- Supports machine learning models to be operationalized directly inside BigQuery using simple SQL.
- Supports multi-cloud data analysis that spans across cloud solutions like AWS and Azure.
- Supports maximum security with encryption by default and customer-managed encryption keys.
3.2 NoSQL databases by Google
Cloud Bigtable is a fully managed and scalable NoSQL database service designed for large analytical and operational workloads. It is a key-value database offered by Google Cloud. It offers high availability with 99.999% SLA. It also supports consistent sub-10 ms latency and handles millions of requests per second.
- Its popular use cases include ad tech, personalization, fintech, digital media, and IoT.
- It is designed with a storage engine – ideal for machine learning applications.
- It can also be easily connected to other Google Cloud services like BigQuery or the Apache ecosystem.
Firestore is a document-based NoSQL database service by Google Cloud. It is designed to support the development of rich applications that can be scaled to meet any demand with no maintenance.
It can also seamlessly integrate with Firebase and Google Cloud services like Cloud Functions and BigQuery.
- Supports real-time application development with features like built-in live synchronization and offline mode.
- Supports always-on data protection with fully customizable security and data validation.
- Supports pay-as-you-go pricing for eliminating upfront expenditures or underutilized resources.
It is another popular document-based database service that also falls into the category of NoSQL databases. It allows real-time syncing for JSON data. It lets you store and sync data between users in real-time. The users can also collaborate across multiple devices – web or mobile.
- Supports the development of serverless applications with mobile and web SDKs.
- Supports offline use with the help of local cache on the devices.
- Offers user-based security with the integration of the real-time database with Firebase Authentication.
Other non-relational database services by Google Cloud
It is an in-memory database service that can reduce latency with a highly scalable and secure service for Redis and Memcached. It can be used to build applications that provide sub-millisecond data access. It can automate complex tasks for open-source Redis and Memcached like failover, monitoring, patching, etc. to enable high availability.
This non-relational database service by Google Cloud allows users to run a fully managed MongoDB application data platform on Google Cloud within a few clicks. They just need to set up, scale, and operate MongoDB Atlas globally.
Quick Overview of AWS Vs Azure Vs Google Cloud: Database Comparison
Migration Capabilities: AWS Vs Azure Vs Google Cloud
Second, to the breadth of product offerings, you should also consider the migration support and capabilities offered by each provider. Let’s talk about the migration support offered by each:
AWS Database Migration
AWS offers a comprehensive cloud database migration service that focuses on making migration easier and faster with minimum downtime. The migration supports:
Homogeneous database migrations – when the source and target database engines are the same or are compatible with each other. For ex:
Heterogeneous database migrations – when the source and target database engines are different. In this case, code and schema transformation take place before the data migration starts. This makes it a two-step process.
AWS database migration service can also be used to migrate both into and out of the cloud for development purposes like for deploying test, development, or staging systems on AWS. AWS also supports consolidated database migration – where multiple source databases are consolidated into a single target database.
Biggest advantage: With support for heterogeneous migrations, customers can easily migrate their databases to AWS Cloud and later switch to a different DBMS, if required.
Azure Database Migration Service
The Azure database migration service primarily focuses on easing the database migrations from on-premises to Azure. Lately, the service also includes the ability to migrate from non-Microsoft databases. It supports Microsoft SQL Server, MySQL, MongoDB, and PostgreSQL migration to Azure from on-premises and other clouds.
Biggest Advantage: Availability of PowerShell can help customers save time and effort by automating the migration.
Google Cloud Platform Database Migration
GCP supports migration to Cloud SQL and recently added support for MySQL and PostgreSQL, Oracle to PostgreSQL, and SQL Server Migrations. As it is serverless, it takes away the complexities associated with managing or monitoring instances. It also supports continuous data replication that translates to minimal downtime.
As compared to AWS and Azure, GCP’s migration services are still evolving.
Biggest Advantage: Serverless – so the customers do not have to worry about the migration resources or instances.
Pricing: AWS Vs Azure Vs GCP
Pricing is an important factor to consider before choosing a database service. As the database services we discussed in this blog are cloud-based, the most familiar pricing mechanism used by all providers is the usage-based or pay-as-you-go pricing. The pricing differs from vendor to vendor. Several factors like geography, computing resources, storage capacity, I/O generated, etc. are considered when generating your cloud database pricing. Be sure to fully understand the pricing structure offered by each vendor before investing to avoid overpaying.
AWS Database pricing
The AWS databases are free to try, and the customers need to pay only for the services they use – with no minimum fees. You can pay for services using On-demand or Reserved Instances (RI) which we will discuss in a while.
AWS offers multiple instance types, and each instance is priced differently. If we talk about the AWS RDS free tier – customers get 750 hours per month of the db.t2.micro instances when running on a single availability zone.
The pricing is also affected by the database engine customer chooses. We discussed these earlier in the article – Amazon Aurora, PostgreSQL, MySQL, Oracle, Microsoft SQL Server, and MariaDB. The proprietary database of AWS – Amazon Aurora comes with serverless options. However, the pricing of storage per gigabyte in Aurora is slightly expensive.
One way to save costs is to go for RI pricing. In RI, you can reserve an instance for 1-3 years. The long-term commitment helps you get some significant discount off on the on-demand rate for that instance. AWS RDS offers three different RI payment options – no upfront, all upfront, and partial upfront. The price for on-premises deployments like Amazon RDS on Outposts pricing is different.
AWS also offers an AWS pricing calculator to help customers calculate their monthly costs with AWS. Here is an example estimate of Amazon Aurora.
Azure Database Pricing
Azure SQL (the Platform-as-a-Service version of Microsoft SQL Server) offers two pricing models to its customers – Database Transaction Units (DTU) and vCores.
Under the DTU pricing model, Microsoft charges according to the computing resources required to run the SQL database.
Below is the pricing for Azure SQL based on Standard Service Tier in Central US – calculated by hour.
The price varies according to region, currency, hourly/monthly payments. Customers need to pay additional costs for extra storage.
If the customer opts for Azure Hybrid Benefit pricing, they can save on costs. Similarly, you can also calculate pricing for vCores easily through the website. If the customer opts for vCore – they also get the option to choose between provisioned or serverless computing tier.
The pricing, as compared to AWS, is simpler in Azure. Though in AWS, the complex pricing is due to the breadth of offerings available.
Google Database Pricing
The pricing structure followed by Google Cloud is quite simpler and easy to understand as compared to the other two providers – AWS and Azure. The pricing can be broken down into licensing, CPU, memory costs, storage, and networking costs. If you talk about CPU and memory pricing, the pricing will look like the below:
Pricing based on storage and network:
Pricing based on Licensing:
The above pricing is calculated using the SQL pricing calculator.
Note: Pricing will differ according to region, monthly/hourly payment, and other elements as specified by the service provider. The pricing in this article is only for reference purposes.
Conclusion – AWS Vs Azure Vs Google Cloud
AWS leads when it comes to the breadth of product offerings under the DBaaS. However, due to the presence of so many services, customers face issues related to pricing calculations and selecting the best service.
Microsoft and Google lag in terms of product breadth and migration capabilities as compared to AWS. However, customer reviews rank GCP Cloud SQL higher when it comes to ease of migration and security.
Azure’s pricing structure is a complex issue for many customers as per industry reviews. The plus points are high availability and performance. Also, as it is a SQL database, it is suitable for structured data only.
All three providers are market leaders when it comes to cloud infrastructure and database services. So, you can pick the one that closely resonates with your application development needs and the budget of the project.
Priya an ambivert by nature, believes in giving shape to her ideas through her write ups. She is an intellectual person who loves exploring and researching about new things. In her free times she loves reading novels along with some soft music.