RDS vs Aurora vs DynamoDB
Relacional gerenciado, relacional de nuvem ou NoSQL?
O primeiro corte é simples: o modelo de dados é relacional (com SQL e junções) ou chave-valor/documento? Depois disso, escolhe-se entre a compatibilidade ampla do RDS e o desempenho do Aurora.
Amazon RDS
- Relacional gerenciado
- Várias engines: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server
- Multi-AZ para disponibilidade
- Read replicas para leitura
Amazon Aurora
- Relacional
- Engine desenvolvida para a nuvem AWS
- Compatível com MySQL e PostgreSQL
- Armazenamento replicado entre AZs
- Opção Serverless
Amazon DynamoDB
- NoSQL
- Serverless
- Chave-valor e documento
- Latência de milissegundos de um dígito
- Escala massiva sem provisionar servidor
Regra para a prova
SQL, esquema, junções → RDS ou Aurora
Compatibilidade com MySQL/PostgreSQL + desempenho → Aurora
NoSQL, serverless, escala imprevisível → DynamoDB
Detalhes que costumam decidir a questão
- Aurora faz parte da família RDS: é uma engine, não um serviço separado de administração.
- Multi-AZ resolve disponibilidade; read replica resolve desempenho de leitura. A prova adora essa diferença.
- Data warehouse e análise histórica não são nenhum dos três: é Amazon Redshift.