O que é um banco de dados?
Um banco de dados é um sistema estruturado para armazenar informações de forma que possam ser encontradas rapidamente. Pense nele como uma planilha Excel bem organizada onde você pode pesquisar qualquer informação em segundos.
A AWS oferece muitos tipos de serviços de banco de dados. Entender no que cada um é melhor é a chave para escolher o correto em cada situação.
---
Relacional vs Não Relacional — Qual é a diferença?
O conceito mais importante a entender primeiro é a diferença entre essas duas categorias.
Um banco de dados relacional parece uma planilha Excel. Os dados são armazenados em tabelas com linhas e colunas. Cada dado deve seguir um formato predefinido chamado esquema. Você pesquisa e atualiza dados usando uma linguagem chamada SQL.
Um banco de dados não relacional é mais como um caderno de anotações. Não há formato fixo, então os dados podem ser armazenados em muitas formas diferentes. É muito rápido e muito flexível.
---
Amazon RDS (Relational Database Service)
O RDS permite executar MySQL, PostgreSQL, MariaDB, Oracle, SQL Server ou Aurora na AWS como serviço totalmente gerenciado.
"Gerenciado" significa que a AWS cuida de certas tarefas por você. Atualizações do sistema operacional, patches do mecanismo de banco de dados e backups automáticos são todos gerenciados pela AWS.
Dois recursos importantes que você precisa conhecer.
Implantação Multi-AZ: A AWS cria um banco de dados em espera em uma AZ diferente que permanece sincronizado com seu banco de dados principal. Se o principal falhar, a AWS muda automaticamente para o banco em espera. Isso é alta disponibilidade. Réplicas de leitura: Uma cópia somente leitura do seu banco de dados que lida com solicitações de leitura para reduzir a carga no banco principal. Usada para melhoria de desempenho.
---
Amazon Aurora
Um banco de dados relacional construído do zero pela AWS. É totalmente compatível com MySQL e PostgreSQL.
Características do Aurora.
Até 5 vezes mais rápido que o MySQL e 3 vezes mais rápido que o PostgreSQL. O armazenamento cresce automaticamente em incrementos de 10 GB até 128 TB. Mantém automaticamente 6 cópias dos seus dados em 3 Zonas de Disponibilidade. Recuperação de falhas extremamente rápida com perda mínima de dados.
---
Amazon DynamoDB
Um banco de dados não relacional (NoSQL) de chave-valor. Os dados são armazenados em formato flexível em vez de tabelas fixas.
Características do DynamoDB.
Sem servidor: Não é necessária configuração de servidor nem planejamento de capacidade. Escala automaticamente com o tráfego. Tempo de resposta de milissegundos de um único dígito: A recuperação de dados é incrivelmente rápida. Tabelas globais: Replica automaticamente dados em várias regiões para acesso rápido em todo o mundo.
---
Outros serviços de banco de dados
| Serviço | Quando usar? | |---------|-------------| | Amazon ElastiCache | Armazena dados lidos com frequência na memória para entrega ultra-rápida. Baseado em Redis ou Memcached. | | Amazon Redshift | Um data warehouse para analisar bilhões de registros. Conecta-se com ferramentas de business intelligence. | | Amazon Neptune | Banco de dados de grafos para dados com relacionamentos complexos, como redes sociais ou motores de recomendação. | | Amazon DocumentDB | Banco de dados de documentos compatível com MongoDB. Armazena dados no formato JSON. | | AWS DMS | Migra um banco de dados em execução para outro destino sem interromper o serviço. |
---
Referência rápida do exame
"BD relacional, SQL, serviço gerenciado" — RDS "Compatível com MySQL/PostgreSQL, até 5x mais rápido" — Aurora "Chave-valor, sem servidor, resposta em milissegundos" — DynamoDB "Cache de dados lidos com frequência na memória" — ElastiCache "Análise em grande escala, data warehouse" — Redshift "Dados de relacionamento, redes sociais" — Neptune "Migrar um banco de dados em execução" — AWS DMS RDS Multi-AZ é para alta disponibilidade (failover). Réplicas de leitura são para desempenho. Não confunda os dois.