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 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.
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.
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.
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.
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.
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?