Types of AWS databases
AWS provides multiple types of databases that can be split in to:
- SQL Databases (Serverless & Non-Serverless);
- No SQL Databases (Serverless & Non-Serverless);
SQL Databases
Amazon RDS
RDS is a managed service for relational databases that supports standard SQL queries and automates provisioning, backups, patching and scaling.
RDS supports PostgreSQL, MySQL, MariaDB, Oracle and Aurora (AWS proprietary).
Note: There is no SSH access to RDS instances.
RDS Replication
Replication is used to scale read traffic by creating read replicas of the primary DB.
It is possible to create up to 15 asynchronous read replicas, however, only the primary DB accepts writes.
Amazon Aurora (Serverless)
Aurora is a fully managed, MySQL & PostgreSQL compatible relational database engine designed for the cloud, combining high performance and availability.
Key points:
- Offers up to 5x the performance of a standard MySQL and 3x of PostgreSQL;
- Storage automatically scales from 10 GB to 128 TB;
- Costs more than RDS (~20%);
- Provides automated backups, snapshots and replication;
No SQL Databases
DynamoDB (Serverless)
DynamoDB is a fully managed, NoSQL database that offers single-digit millisecond latency and scales automatically.
Key points:
- Key-value & document data models;
- Supports millions of requests per second;
- Ideal for real time applications, IoT, gaming and mobile apps;
DynamoDB Accelerator (DAX)
DAX is a fully managed in-memory cache for DynamoDB that improves read performance by up to 10x.
Note: DAX is only for DynamoDB.
DocumentDB (Serverless)
DocumentDB is a fully managed MongoDB compatible database engine designed for the cloud, combining high performance and availability.
Amazon Neptune
Neptune is a fully managed graph database for storing complex relationships and querying them with high performance.
Use cases: Social networks, recommendation engines, fraud detection.
Note: Supports property graph (Gremlin) & RDF (SPARQL) models.
DMS - Database Migration Service
The AWS Database Migration Service helps migrating databases to AWS quickly and securely.
Key points:
- Supports homogeneous migrations, (e.g. Oracle to Oracle);
- Supports heterogeneous migrations (e.g. Microsoft SQL Server to Amazon Aurora);
- Minimal downtime during migration;
- Can migrate data continuously.
Amazon Quicksight
Amazon Quicksight is a serverless machine learning-powered business intelligence service to create interactive dashboards.
Amazon ElastiCache
Amazon ElastiCache is a fully managed service that allows you to deploy, operate, and scale in-memory data stores like Redis and Memcached.
It is specifically designed for high performance and low latency.
Use cases: Caching, real-time analytics, session stores and leaderboards.
Amazon Redshift
Amazon Redshift is designed for analytics and reporting on large volumes of structured and semi-structured data.
Redshift stores data columnar (column-oriented), which is optimized for aggregations and analytical queries rather than transactional workloads.
Amazon EMR
Amazon EMR is a managed big data processing service. It allows the processing and analysis on massive amounts of data using frameworks like Apache Hadoop, Spark, HBase, Flink, and Presto.
EMR takes care of provisioning and configuring multiple EC2 instances in a cluster so that they can work together in analyzing data from a big data perspective.
Use cases: Data processing, machine learning, web indexing, big data, etc.