everythingpossible - Fotolia


Azure or AWS? A cloud database comparison

AWS offers a multitude of database services, but Microsoft Azure has several options worth considering for a savvy multi-cloud user.

Amazon Web Services and Microsoft Azure offer a wide range of database services. When choosing between Azure and...

AWS for a data management platform, it helps to have a clear understanding of your application and business requirements.

Will your enterprise use the database for analytics or transaction processing applications? Do you need a relational or NoSQL database? Does your enterprise prefer a database as a service (DBaaS) option over managing its own instance? When database comparison shopping, enterprises need to decide between Azure and Amazon Web Services (AWS) for DBaaS.

Amazon Redshift

Amazon Redshift database service targets organizations with business intelligence and big data analytics requirements. Redshift implements a distributed database with data spanning across a single master node and multiple worker nodes. Using the AWS Management Console, admins can add or remove nodes from a cluster as well as resize a database if needed. All data is stored on cluster nodes or machine instances. For example, if you decide to shut down your data warehouse over a weekend when not in use, you'll first have to export data to Amazon Simple Storage Service prior to shutting down and then reload it when you start the cluster again.

Redshift clusters are implemented with two types of VMs: dense storage and dense compute. Dense storage is optimized for large data warehouses, while the dense compute offers more CPUs for compute-intensive analytics. Dense storage is priced at either $0.25 per hour for dc1.large instances or $4.80 per hour for dc1.8xlarge instances. Dense compute pricing starts at $0.85 per hour for ds2.xlarge instances and $6.80 per hour for ds2.8xlarge instances.

Amazon Relational Database Service

Unlike Redshift, Amazon Relational Database Service (RDS) is designed for transaction processing applications using a SQL database. Scaling and basic administration tasks can be automated using the AWS Management Console. AWS performs many common database administration tasks, such as backups.

RDS is a good option for application back ends that need relational data stores. Databases are easily replicated across availability zones (AZs), providing for high availability without the overhead of having to manage multiple servers and failover procedures.

RDS offers a wide range of instance types using different databases. For On-Demand single-AZ deployments with MySQL, prices range from $0.017 per hour to $3.78 per hour. For multi-AZ deployments, prices range from $0.034 per hour to $7.56 per hour. As another example, Oracle pricing for On-Demand single-AZ deployments begins at $0.035 per hour and goes to $3.64 per hour. Multi-AZ Oracle deployments range from $0.07 per hour to $7.28 per hour. One- to three-year contracts for Reserved Instances can significantly reduce these prices.

Amazon DynamoDB

DynamoDB, Amazon's NoSQL database offering, supports both document and key-value stores for a healthy amount of flexibility. The database also integrates with AWS Lambda to help admins set data and application triggers.

DynamoDB is a good option for high volumes of reads and writes, which are used with mobile applications. Users create tables that store JavaScript Object Notation (JSON) documents partitioned by keys you specify. Other than defining how to partition data, there is no need to define a formal schema. This makes DynamoDB, and other document databases, ideal choices for applications with the need for a flexible data model.

Pricing for DynamoDB is based on read and write operations and is split into two models: provisioned and reserved. With the provisioned model, write capacity is priced at $0.0065 per hour for every 10 units of write capacity, while reads are priced at $0.0065 per hour for every 50 units of read capacity.

Amazon Aurora

Developers should consider Amazon Aurora, a MySQL compatible database in the RDS service, for applications that benefit from highly scalable relational databases. Aurora uses a virtualized solid-state disk (SSD) storage layer designed to minimize common bottlenecks in database engines. Data is also replicated across three availability zones. While Aurora can encrypt data in transit, data at rest encryption is not yet available. Pricing for Aurora begins at $0.29 per hour for db.r3.large instance and runs to $4.64 per hour for db.r3.8xlarge instances.

Microsoft Azure SQL database

Microsoft's Azure SQL database service is a relational database offering similar in functionality to AWS RDS. Azure SQL is scalable and includes elastic database services. This allows admins to set a database budget for unpredictable workloads and let Azure handle provisioning through auto scaling.

Azure SQL is available in three tiers: Basic, Standard and Premium. The Basic tier offers a single 2 GB option with five throughput units for $0.0067 per hour. Standard instances range from 10 throughput units to 100, all with 250 GB of storage; pricing ranges from $0.0202 per hour to $0.2016 per hour. The premium tier offers between 125 and 1,750 throughput units with either 500 GB or 1 TB of storage space. Pricing for this tier ranges from $0.625 per hour to $9.41 per hour. All tiers come with a 99.9% uptime SLA.

Microsoft DocumentDB

Microsoft's NoSQL offering is DocumentDB, and it is, as the name suggests, strictly a JSON document database. Admins can build in-house query operators using JavaScript and integrate with Hadoop applications using the appropriate Azure connector. DocumentDB uses only SSD storage.

DocumentDB's instances all offer 10 GB of storage but provide a choice of 250, 1,000 or 2,500 request calls per second. Prices are set at $0.034 per hour, $0.067 per hour and $0.134 per hour, respectively.

Next Steps

Compare NoSQL-based AWS database options

Quiz: How do relational databases and NoSQL technologies compare?

Azure vs. Google: Finding your cloud vendor fit

AWS vs. Azure: Commitments, SLAS and cloud costs

Should AWS follow Azure on cloud data privacy?

Dig Deeper on AWS database management