Before we dive into the different database offering from AWS, let's have quickly a look at the differences in how data is managed and stored (Relational vs Non-Relational) and different use cases - Operational/Transactional (OLTP ) vs Analytical (OLAP))
Relational Non Relational
tables, rows and columns many different data storage models ( key-value pairs, documents or graphs)
rigid schema (SQL ) Flexible schema (NoSql)
rules enforced within the database defined in application code
vertical scalability horizontally
supports joins and complex queries unstructured simple query language
OLTP (Online Transaction Processing) OLAP (Online Analytics Processing
transaction-oriented tasks analysis and decision making oriented tasks
OLTP typically involves inserting, updating, and/or deleting small amounts of data in a database OLAP performs multidimensional analysis of business data and provides the capability for sophisticated data modelling
Short transactions and simple queries long transactions and complex queries
ie production DB ie data-warehouse
OLTP vs OLAP
data in OLAP often comes (is aggregated) from multiple OLTP sources.
OLTP to ETL to OLAP
OLAP data-warehouses are useful to avoid performance hits on the original source, but, for very simple scenarios having a read Replica would do the job.
As with many other services AWS provides us with a very extensive Datastore offering to fit different requirements in terms of use case, scalability, performance and price.
Amazon RDS (OLTP)
DynamoDB (OLTP)
DocumentDB
RedShift (OLAP)
Elasticache
EMR (hadoop) (OLAP)
Database on EC2 ( other database not listed above can be directly installed on EC2)