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
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