Banco de dados - Hugo-benjamim/chatunai-app GitHub Wiki

Diversos serviços para bancos de dados, desde noSQL até de big data, etc

Os três principais são:

Nome Resumo
Dynamo DB Serverless, noSQL
RDS Relacional, alta performance e baixo custo, pode ser usado Postgre, Mysql, oracle, Amazon Aurora, MariaDB e SQL Server
RedShift Dataware house, não é relacional, colunar, usado para big data, criação de data lakes
Neptune Banco de dados em grafo

Dynamo DB

Banco de dados mais utilizado na AWS, é não relacional, baseada em chave valor. Parece um arquivo JSON.
Toda a infraestrutura, disponibilização e rede é gerenciada pela aws, facilita o uso. Pode ser disponibilizada em diversas regiões e zonas de disponibilidade.
Possui controle de acesso e os dados são criptografados Coleta métricas e disponibiliza no cloudWatch
Custos on demand, baixo custo Backups em determinados tempos, é possível determinar vida útil dos dados

DAX: Dynamo DB accelerator: possui forma própria de gerir cache e memória, agilizando as querys e economizando processamento além de aumentar a disponibilidade. Bom para requests em excesso
Pode-se criar índices para facilitar as buscas, igual ao sql. Pode ser rodado local, possui triggers para quando acontecer alterações no banco de dados

RDS

Relational database service: Serviço de bancos de dados relacionais, suporta 6 diferentes SGBDs:

Postgre, Mysql, oracle, Amazon Aurora, MariaDB e SQL Server
Segue as melhores práticas de infra para que não precisemos nos preocupar, usam discos de IOPS do EBS.
Tem um limite de 100 Snapshots manuais por região.

read Replicas

Relacionado a performance do banco. Cria snapshots do banco de dados para leitura em outras zonas de disponibilidade. Para que diminua a latência, pode ter read replicas em outras regiões ou end nodes para que reduza a latência. Em caso de indisponibilidade do banco principal as requisições podem ser atendidas pelas réplicas

Multi AZ deployments

Disaster recovery, os dados são armazenados em diferentes zonas de disponibilidade de uma região.
Por exemplo, ele cria uma cópia do banco e atualiza constantemente para outra AZ, conceito de RAID. Automaticamente redireciona para a cópia em caso de problema no banco principal. Redireciona entre 60 a 120 segundos, muito rápido. Dispara informação no log
image

Amazon Aurora

Banco de dados relacional, criado pela AWS e compatível com postgres e mysql.
Podem ser gerenciados pela aws ou manualmente a parte de infra, com alta escalabilidade. Pode ser serverless, deixando para a aws provisionar a infra de acordo com a necessidade

Redshift

Banco de dados não relacional, estrutura colunar com grande capacidade de armazenamento e requisições. Muito útil para big date e data lakes, processa grandes informações em quantidade e velocidade.
Custo baseado no uso, proporcionando até petabytes de armazenamento e leitura, configuração de infra orquestrada pela própria AWS. O redshift é ótimo para grandes quantidades de dados

Neptune

Serviço de banco de dados em grafo para questões diferentes como redes sociais

Athena

O athena é para facilitar a busca e criar querys eficientes de forma serverless, cria estrutura de dados para facilitar a recuperação ou agilizar o retorno de arquivos do S3

Data Exchange

Conceito muito similar ao Open Finance, permite disponibilizar ou recuperar dados de terceiros de forma segura através da internet.

EMR

Elastic MapReduce é um serviço de big data, é uma plataforma para se utilizar de frameworks de big data como hadoop, Spark, Hive entre outros