Os serviços de database da Amazon AWS estão divididos entre bancos de dados relacionais (relational databses), bancos de dados não relacional (non-relational databases) e serviços de migração de dados (database migration services). Neste artigo iremos descrever cada um destes serviços.
Antes de falar dos serviços de database da Amazon, acho que vale a pena ressaltar as principais diferenças entre bancos de dados relacionais e não relacionais.
Relational | Non-relational |
Permite o armazenamento dos dados, garante sua integridade (ACID engine) e também fornece um mecanismo para processar estes dados. | Apenas armazena os dados e é mais simples em termos de design |
Armazena dados em tabelas | Armazena dados em objetos |
Suporta relacionamentos complexos entre as tabelas | Complexidade aumenta muito se precisar controlar relacionamentos entre vários objetos |
Geralmente é acessado via conexão ODBC e usa SQL para consultar os dados | Geralmente é acessado via API RESTful HTTP |
Utiliza um schema para definir as tabelas | Não usa schema e pode armazenar diferentes tipos de dados no mesmo objeto |
A Amazon possui serviços para estas duas classes de banco de dados. A seguir, veja quais são os serviços existentes em cada uma destas categorias:

Alguns comentários sobre Amazon ElastiCache
ElastiCache é um serviço de banco de dados usado para armazenar dados que, são frequentemente usados, em memória. Funciona como um serviço de cache e pode ser usado para uma camada de persistência temporária na sua arquitetura. ElastiCache pode ser usado em conjunto com um dis serviços do Amazon RDS.
Existem dois engines disponíveis no Amazon ElastiCache: Redis e Memcached. Memcached é mais simples e deve ser usado quando os seus requisitos são mais simples. Se você precisa de recursos como replicação de cache, encriptação, persistência, ou até mesmo trabalhar com tipos de objetos mais complexos (lists, sets, strings, hashes), então você deveria escolher o Redis.
Amazon RDS
Como exibido na imagem acima, Amazon RDS é um serviço de banco de dados relacional. No entanto, é importante destacar que você não precisa usar RDS para trabalhar com um banco de dados relacional na Amazon. Você pode criar uma instância EC2 e rodar um banco de dados na sua instância. No entanto, RDS é um serviço especializado e otimizado para este tipo de demanda e oferece os seguintes benefícios:
- Alta escalabilidade e disponibilidade
- Atualizações e backups automáticos
- Detecção e recuperação automática de falhas
- Após criar uma instância de um banco de dados, você pode acessar o console e facilmente mudar configurações como memória e tipo de disco!
Um dos serviços do Amazon RDS é o banco de dados da própria Amazon, conhecido como Aurora. Pelo fato de ter sido criado especialmente para rodar na nuvem, o Amazon Aurora possui melhor desempenho do que MySQL e PostgreSQL, por exemplo. Além disse, Aurora oferece alta disponibilidade, pois replica os dados em diferentes Availability Zones (AZ) formando um cluster de banco de dados.
Fonte: Cloud Academy – AWS Database Foundation