Fala galera, beleza? Prontos para evoluir agora no nosso assunto de bancos de dados? Poxa, na AWS tem uma porrada de banco de dados para a gente estudar. E eu vou separar eles em algumas das ferramentas que a AWS disponibilizou para a gente, para a gente fazer a gestão de bancos de dados, ou até algumas estratégias de banco de dados que elas trazem para adicionar ao nosso leque de possibilidades, tá bom? Então, dentro do assunto banco de dados, a gente tem vários para discutir aqui dentro da AWS. Eu separei em sete, a gente vai passar em todos esses sete bancos de dados ou estratégias de gestão de banco de dados para a gente aprofundar um pouquinho, mas também não vamos chegar no detalhe do detalhe, porque infelizmente são muitos bancos de dados e a gente vai passar aqui alguns anos falando sobre o assunto, beleza? Então, vamos lá. Quando a gente está falando de bancos de dados, a AWS oferece uma porrada de tipos de bancos de dados, ou de gestores de bancos de dados, se a gente parar para pensar. O Amazon RDS é o mais comum, que a gente mais fala no dia a dia, e é o primeiro que a gente aborda quando a gente está falando de um curso de cloud, principalmente. O RDS vai trabalhar os bancos de dados relacionais. Então, ele é um gerenciador de bancos de dados relacionais. Então, ele é um gerenciador de bancos de dados relacionais que te ajuda com todos os trabalhos administrativos de infraestrutura. Então, a sua escalabilidade de banco de dados, a sua gestão de infra, como é que você vai precisar de escalar vertical aqui no nosso caso, assim por diante. Então, ela te ajuda principalmente nessa gestão. O RDS vai te ajudar muito nisso. Estação de patch, etc. A gente já falou um pouco disso ao longo do nosso treinamento. Mas vamos falar agora focado em banco de dados. No que ele tem para ajudar a gente. Então ele tem lá. Eu listei aqui alguns dos principais que eu lembrei. Que é o Aurora. O Amazon Aurora. Você pode usar com RDS. PostgreSQL. MySQL. O RDS, PostgreSQL, MySQL, o MariaDB, faz tempo que eu não ouço ninguém falando de utilização de MariaDB, mas também dá para usar. O Oracle e o Microsoft SQL são os principais que eu lembrei aqui que dá para a gente usar junto com o RDS. O RDS vai automatizar as tarefas administrativas que a gente tem de provisionamento de hardware. Então, toda aquela configuração que você tem de backup, de patch, etc., ela vai te ajudar nesse sentido. Bom, para quem trabalhava com o Cloud on-premises sabe que a maior parte das grandes empresas tinha um time dedicado para cuidar só de bancos de dados. Então, os times de aplicação normalmente estavam focados realmente nas aplicações. Quando vem a Cloud com a AWS, ela pensou em como que ela consegue deixar isso de forma mais sutil para os times que até ontem cuidavam de aplicação poderem também ter seus bancos de dados ali sem precisar de um terceiro time para fazer isso. Então, a RDS vem ajudando um pouco nesse sentido também. Além do mais, ele também traz ali as estratégias para a gente conseguir fazer escalabilidade de bancos de dados, que é a grande proposta da AWS. Quando a gente está falando da RDS, então a gente está falando do EDS, então a gente vai falar primeiro de disponibilidade. Ele é um multi-AZ, ou seja, se você tiver ele em várias zonas, a variabilidade de zonas, você vai conseguir ter mais disponibilidade, porque se uma der problema, você consegue mudar para outra e assim por diante. Então você pode ter réplicas dele com os dados sendo transferidos de uma para outra, para você poder usar isso quando você precisar. Então, quando você tiver um problema, por exemplo, você tem esse file over automático. Em caso de qualquer falha, a instância primária de IDS vai dar um file over e ela vai abrir a réplica lá na outra Z. Ela vai jogar para a outra réplica na outra Z. Isso vai poder ser para tanto falha de infraestrutura que você pode pensar, poxa, não acontece muito. para tanto falha de infraestrutura, você pode pensar, poxa, não acontece muito, realmente, é muito difícil de acontecer, mas tem falha também de conectividade de rede, de hardware, assim por diante, que pode acabar te impactando. Então aqui quando você tem um failover automático, você acaba não sofrendo tanto. O tempo de recuperação que a AWS promete é de 60 a 120 segundos, ou seja, é rapidinho você joga de um lugar para o outro. Não é uma coisa que acontece toda hora, e pensando nesse tempo de recuperação, acho que estamos bem, a gente não vai ter um grande problema. A não ser que você não consiga lidar nem com esses 60, 120 segundos, dependendo do que você tem aí de trabalho para entregar. Mas é um bom banco de dados, uma boa estratégia, e ele consegue entregar muito bem disponibilidade. Outra coisa que ele faz muito bem de disponibilidade são os backups automáticos. Ele tem um período ali de retenção de backup automático com mais ou menos 35 dias. Então ele está ali fazendo o backup e deixando isso guardado por 35 dias caso você precise voltar. Isso aqui já é de forma automática. Você consegue deixar ele configurado ali. Outra coisa também é o ponto de recuperação. Os backups eles são incrementais, beleza? E você vai deixando esses dados no ES3, por exemplo, e daí quando você precisar fazer uma recuperação, você consegue por um ponto de recuperação para você voltar aquela data, valor de quando você precisa daquele backup. Então ele é uma outra estratégia bem interessante, ainda mais quando você gera outros impactos em sistemas. Eu já precisei usar esse tipo de coisa e é extremamente importante, porque a gente, em determinado momento, acabou tendo um problema que impactou outros bancos de dados e eu precisei das informações de um certo ponto aqui de recuperação para poder refazer toda a informação que eu tinha, porque a gente perdeu e foi uma coisa bem complicada de resolver, mas isso me ajudou bastante. Outra coisa também é a consistência de transações, a RDS garante ali que os backups sejam consistentes e que você tenha um dado ali muito bom para você utilizar quando você precisar, então você não vai ter problema de ter um dado que não está sendo fiel ao que realmente você tinha, tá bom? Outra coisa também, você pode fazer snapshots manuais, que são os backups manuais, no fim das contas, o snapshot a gente usa como um backup, tá? Então você consegue fazer isso a qualquer momento que você precisar, tá? E você vai ficar com aquilo até que você vá lá e exclua. Então esse aqui, diferente do que é automático, você tem que dar um snapshot, jogar ele, sei lá, no S3, em algum lugar para guardar, num blazer, que seja para você não gastar tanta informação, quando você precisar, você busca. Depende da criticidade, você pode guardar num lugar diferente para ter acesso mais rápido ou não, e assim por diante. Então, quando você vai restaurar esse snapshot, você pode usar um ponto específico também e criar até uma nova instância de banco de dados, se você precisar. Se você não quiser jogar dentro da sua própria instância, você pode criar outra, testar e depois mudar, alguma coisa nesse sentido. Tem bastante oportunidade aqui, dado que você está com uma infra cloud, você pode ficar brincando com isso, você não precisa simplesmente jogar na sua infra de banco de dados que você já tinha. Qualquer coisa você cria outra, joga para lá, funcionou, você desliga uma e liga a outra. Fica muito mais fácil de trabalhar. Ele tem escalabilidade vertical. Como é um banco de dados relacional, você não vai escalar ele horizontalmente. Então, verticalmente falando, você consegue fazer upgrade ou downgrade. Consegue aumentar a licitação de CPU, memória, throughput e assim por diante. E também consegue diminuir. Se estiver custando muito caro, precisa mudar a estratégia e diminuir e assim por diante. Outra coisa também, ele tem um downtime minimizado. diminuir assim por diante. Outra coisa também, ele tem um downtime minimizado ali, então em alguns casos de mudança de tamanho de disco, você não vai precisar ter um downtime significativo, ou seja, você não vai ficar fora, você consegue fazer isso com ele basicamente no quente ali e as coisas funcionando, tá bom? Quando a gente está falando de segurança, a gente tem as integrações com o IAM aqui, então tudo que a gente falou ali, a gente consegue fazer o controle pelo Identity and Access Management e com ele a gente consegue fazer toda a gestão de configuração de segurança dele, desde as permissões mais básicas até as mais complicadas ali, snapshot, grupo de segurança, tudo que você pode pensar, você consegue gerir ali pelo IAM e daí isso fica muito mais simples de gerenciar. Também tem a autenticação que você pode fazer pelo IAM também, todas aquelas configurações que a gente falou de IAM vão te ajudar bastante aqui para fazer a gestão disso e assim por diante. Então, acho que isso aqui também traz bastante conforto para a gente, que é um banco de dados, que ele tem bastante controle de acesso. Out pra gente com um banco de dados que ele tem bastante controle de acesso outra coisa também a criptografia ou seja quando está falando ainda do do que de segurança a criptografia que o é que o r10 tem ele tem tanto para repouso tá então quando data parado você vai ter ali a kms para dado e repouso você tem pra lá em trânsito você Você pode usar SSL ou TLS. A gente usa bastante isso no dia a dia que vai proteger ali seus dados em trânsito também. Então, ele traz aqui uma visão muito de, como eu posso dizer, um banco de dados que ele é muito confiável, vamos ser muito honestos. Então, se a sua operação precisa de um banco de dados que ele seja confiável, que você consiga buscar um dado inteligente, que ela precisa de um banco de dados que ele seja confiável, que você consiga buscar um dado inteligente, que você consiga fazer backups e assim por diante, consiga ter uma rastreadibilidade de tudo o que aconteceu. Usar o RDS é bem importante, bem interessante. Normalmente quem trabalha com sistemas financeiros ou coisas desse jeito, usa bastante porque a gente sabe que vai ter uma confiabilidade bem grande e por isso ele acaba sendo muito utilizado no dia a dia, beleza? Pessoal, vou falar agora um pouquinho do Amazon Aurora. O Amazon Aurora, ele já é um serviço de banco de dados que ele foi desenvolvido pela AWS, é proprietário da AWS. Ele é um banco de dados relacional, a gente já falou dele um pouquinho antes, mas eu queria aprofundar com vocês um pouco mais sobre banco de dados. Então, quando a gente está falando do Aurora, especificamente com o banco de dados, é interessante a gente ver quais são as possibilidades que ele traz. Eu acho o banco de dados muito fera. A galera acaba apelando para usar ele sempre, porque ele é muito forte, muito poderoso, mas ele é um pouco mais caro também, justamente porque ele traz uma gama de ferramentas e estratégias que você pode usar com ele. Vou passar rapidamente, porque a gente já falou dele e, querendo ou não, ele é o banco de dados relacional, assim como os demais, só que ele tem algumas coisas adicionais que acho que vale a pena a gente elencar aqui, então eu trouxe pra gente aqui na nossa apresentação, pra vocês lembrarem disso no dia a dia. Primeira coisa, ele tem ele é compatível com MySQL e por isso ele é bem legal de utilizar, porque você vai conseguir utilizar em outras plataformas com outras coisas também. Ele também tem uma parada bem forte de disponibilidade ali, de performance, o que faz ele ser muito bom e pensando em custo-benefício, pensando pelo que ele entrega, não é tão caro, tá? Então para quem quer velocidade e quer ter resiliência ali, um dado confiável, ele é um banco de dados muito top. Ele tem um desempenho fora do comum, eu já falei disso antes, mas vamos relembrar. 5 vezes mais rápido do que o MySQL, é fora do comum, porque o MySQL já é rápido. 3 vezes mais rápido do que o PostgreSQL, também é muito fora do comum. E ele faz isso porque ele tem uma estratégia de quebra de leitura e gravação, como se fosse um CQRS, só que ele quebra em leitura e gravação e a leitura ali ele consegue escalar, é bem legal isso, tá? Ele tem alta disponibilidade, pensando em disponibilidade, a AWS aqui, ela foi longe, tá? Acho que ela pegou pesado. O que eles fazem? O Aurora, ele replica automaticamente em 3x e cria 6 cópias, ou seja, ele cria uma réplica de leitura e gravação para cada AZ. E daí com isso ele tem 6 cópias do seu banco de dados espalhadas e a chance de você perder 6 cópias é quase zero. Vamos ser muito honestos, é zero, não vai acontecer. Ele tem o Firewall automático também, então se falhar ele vai pegar uma instância que ele tem lá das réplicas de leitura e vai promover como instância primária sem você ter que fazer nada ele já vai fazer isso automaticamente então você não precisa se preocupar que vai estar funcionando outra coisa interessante dele ele tem um negócio de autocorreção, isso eu acho muito legal dele ele tem um monitoramento contínuo ali dos blocos dele e quando ele pega que algum bloco pode ter sido afetado, ele pode ter tido algum tipo de corrupção de dado, ele vai e refaz esse bloco, remonta ele com base nessa estratégia de monitoramento contínuo. A recuperação de falha dele também é super rápida e você não vai ter inatividade na sua aplicação, ou seja, se tiver vai ser muito rápido, vai ser quase imperceptível. Ele é muito bom nisso também. Ele também tem, como eu falei para vocês, a escalabilidade dele é muito fera. Ele faz 15 réplicas de leitura. E daí com isso ele consegue escalar horizontalmente a sua leitura. A gravação ele faz vertical, mas a leitura ele escala horizontalmente. Com isso ele consegue ser muito mais rápido, tem um desempenho de consulta muito bom, que para comparar com os demais bancos de dados que são relacionais é complicado, porque ele tem uma estratégia bem bacana. Ele também tem uma capacidade de de outscaling ou seja ele vai crescer automaticamente para conseguir entregar o que você precisa até o máximo de 128 terabytes sem você não vai ter que fazer uma interação depois disso você precisa fazer alguma coisa ali mas ele vai até 128 terabytes direto para entregar pra você