AWS offers a number of database services which covers different database types, on server and server-less services, cache services and many more. Hence at times it can be daunting to find the right fit for your use case.
This guide compares 5 of the major SQL and No-SQL based services to help you find the right choice.
Pricing
1. SQL - Relational Databases
The table below compares services based on instance and storage costs per month, notice how RDS costs the lowest followed by Aurora and Redshift.
Note:
In-order to compare prices on the same scale I have used the following configuration
- Server - PostgresSQL Server
- Nodes - 1
- On-demand Utilization Value - 100, Unit - Month
- Deployment Option - Single-AZ
- Pricing Model - On-demand
- Storage Amount - 100 GB
2. NoSQL Databases
DynamoDB and DocumentDB are both pay-per-use, NoSQL offering services but the pricing model differs.
A. DynamoDB
- Resources including RCUs, WCUs, storage and data transfer will be priced by AWS according to usage.
- DynamoDB offers both on-demand & provisioned pricing
B. DocumentDB
Here pricing is based on the following components -
- Read/Write operations on database
- Database Storage
- On-demand Instances
- Backup Storage
Note - DocumentDB offers only on-demand pricing model
Although cost is one of the key factors, it's also important to check other features provided by the service.
Features Provided
1. RDS
- Amazon RDS is a managed service with automated provisioning and OS patching.
- It provides continuous backup and allows you to restore to a particular timestamp.
- The storage is backed by EBS
- RDS provides read replicas and multi-AZ setup for improved performance and disaster recovery.
- It has both vertical and horizontal scaling capabilities.
2. Aurora
- Aurora is a "cloud-optimized" service which supports MySQL and PostgresSQL.
- It claims 5x performance improvement over MySQL [RDS] and 3x over Postgres on RDS.
- Aurora's storage automatically grows in increments of 10 GB, upto 128 TB.
- With Aurora Serverless you can cut-off the management overhead and enjoy automated database instantiation and auto-scaling based on actual usage.
3. Redshift
- Redshift is a PostgresSQL based service, ideal for OLAP operations
- It's applications includes analytics and data warehousing.
- It gives 10x better performance as compared to other data warehouse.
- It uses columnar storage and Massively Parallel Query Execution [MPP].
- You can easily integrate with PowerBI tools like Quicksight and Tableau to gain insights.
4. DynamoDB
- It is a fully-managed, server-less, No-SQL based service with single-digit millisecond latency.
- It is integrated with IAM for security, administration and authorization.
- It offers low cost and auto-scaling capabilities.
- DynamoDB offers Accelerator-DAX, which is a memory-cache helpful in improving performance by almost 10x.
- It offers standard and IA[Infrequent Access] table class.
5. DocumentDB
- The deployment concept of DocumentDB is same as "AWS Aurora".
- It is fully-managed and available service with replication in 3 AZ's.
- Storage in DocumentDB automatically grows in increments of 10 GB.
- It scales to workloads and can handle millions of requests per second.
- It can be ideal for use cases with applications that manage big real time data or in need of complex querying capabilities.
That's it for this guide, hope this helped you find the right DB.
Feel free to comment for any questions, feedbacks or suggestions.
P.S. - Here's a reminder to stop that EC2 instance XD
Top comments (1)
Great article. Was really looking for some detailed comparison of these services.