Banco de Dados
Introdução
Nesta aula apresentaremos os serviços de bancos de dados da
AWS, além do Amazon Cloud Formation. O Amazon RDS é um
serviço de banco de dados relacional compatível com MySQL,
MariaDB, PostgreSQL, Oracle e SQL Server. Introduzimos o
Amazon DynamoDB, que é o serviço de banco de dados não
relacional totalmente gerenciado. Já o Amazon Redshift é o serviço
de Data Lake da AWS, para grande quantidade e complexidade de
dados. O serviço Amazon Cloud Formation é uma maneira de
implementar e documentar as soluções em nuvem em texto em
formato JSON.
Objetivos da aula
Descrever os principais tipos de Bancos de Dados da nuvem AWS;
configurar de forma básica o RDS; descrever como provisionar
recursos com o AWS Cloud Formation
Resumo
A AWS oferece diversos serviços de Banco de Dados. A tabela
abaixo lista alguns deles.
Fonte: autoral, 2022.
O Amazon Relational Database Service (Amazon RDS) é o serviço
que implementa bancos de dados relacionais na nuvem. É um
serviço gerenciado que pode utilizar os mecanismos MySQL,
MariaDB, PostgreSQL, Oracle ou SQL Server. Há ainda o Amazon
Aurora que é nativo AWS compatível com MySQL e PostgreSQL. A
figura abaixo mostra a tela do assistente de criação de banco de
dados onde são mostradas estas opções:
Fonte: Console AWS. S.D.
Um banco de dados RDS roda em instâncias totalmente gerenciadas
da classe db com armazenamento EBS que pode estar criptografado
ou não. O RDS fica em uma VPC e pode ser implementado em
instância única ou multi-AZ (uma instância primária e uma instância
em espera em uma AZ diferente). Pode-se também implementar
réplicas de leitura do Amazon RDS, como mostra a figura abaixo:
Fonte: AWS Amazon, S.D.
O Amazon DynamoDB é um banco de dados não relacional
(NoSQL), servless, totalmente gerenciado, de alta performance que
escala automaticamente. Os bancos de dados NoSQL são
projetados para superar as limitações dos bancos de dados
relacionais SQL. A tabela abaixo resume as diferenças entre bancos
de dados relacionais e não-relacionais.
Fonte: autoral, 2022.
Dentre as vantagens do DynamoDB estão:
Performance em grande escala - latência de um dígito para
consultas e armazenamento praticamente ilimitado
Servless e totalmente gerenciado – não precisa provisionar
instâncias nem se preocupar com patches, manutenção etc.
Pronto para uso empresarial – preparado para missões críticas
suporte à transações ACID.
Escalabilidade de taxas leitura/gravação (manual ou
automática)
Abrangência regional mas podem ser configuradas Global
Tables
O Amazon Redshift é um Data Warehouse em escala de petabytes
totalmente gerenciado na nuvem. Faz análises de dados
estruturados e semiestruturados em grande quantidade de dados
(data warehouses, data lakes), usando Machine Learning integrada
com alta performance e preço.
Algumas aplicações do AWS Redshift são: implantação na nuvem de
Data Warehouse, Big data proveniente de Internet das Coisas,
Cidades Inteligentes, Agricultura, etc; implementação de Software
como serviço (SaaS) em alta escala com análise de dados.
AWS CloudFormation
O serviço AWS CloudFormation provisiona recursos na nuvem a
partir de um código. Por isso é chamado de Infraestructure as a Code
(IaaC). A partir de um modelo existente ou personalizado, os
recursos (serviços AWS e suas respectivas configurações) são
provisionados e atualizados automaticamente pelo AWS
CloudFormation.
Os elementos básicos do CloudFormation são:
Modelos (Templates): blueprints para criar recursos da AWS.
Arquivos JSON ou YAML.
Pilhas (Stacks): recursos criados são gerenciados por uma
pilha. As Templates geram Pilhas.
Change sets: Antes de implementar updates na pilha, você
pode verificar o impacto por meio de Change Sets.
A Figura abaixo mostra como o AWS CloudFormation funciona:
Fonte: AWS Amazon, S.D.
Como aplicar na prática o que aprendeu
Crie um site WordPress com banco de dados RDS utilizando o
modelo de exemplo disponível no assistente de criação de Pilha do
CloudFormation.
Conteúdo bônus
Tópicos avançados
Acesse os tutoriais sobre DynamoDB
aqui: [Link] e neste
vídeo: [Link]
Explore os casos de sucesso de uso do Redshift
em: [Link]
Referência Bibliográfica
AWS RDS (Relational Database Service) - Amazon Web
Services. Disponível em: <[Link] Acesso
em: 9 dez. 2022.
Amazon Relational Database Service. Disponível em:
<[Link]
[Link]>. Acesso em: 9 dez. 2022.
Como trabalhar com réplicas de leitura - Amazon Relational
Database Service. Disponível em:
<[Link]
USER_ReadRepl.html>. Acesso em: 9 dez. 2022.
Amazon DynamoDB – Amazon Web Services. Disponível em:
<[Link] Acesso em: 9 dez. 2022.
Amazon Redshift – Data Warehouse na nuvem – Amazon Web
Services. Disponível em: <[Link]
Acesso em: 9 dez. 2022.
Provisionamento de infraestrutura como código – AWS
CloudFormation – Amazon Web Services. Disponível em:
<[Link] Acesso em: 9 dez.
2022.
Sample templates - AWS CloudFormation. Disponível em:
<[Link]
e/[Link]>. Acesso em: 9 dez. 2022.