Fala galera, beleza? Bom, vamos dar o nosso próximo passo aqui no nosso curso. Agora a gente vai começar a falar um pouquinho sobre algumas opções de bancos de dados para a gente aprender como lidar com eles e como eles podem ajudar a gente no dia a dia. Antes da gente falar dos bancos de dados propriamente ditos, vamos falar de uma opção que a gente tem aqui que é o Last Cash, que é nada mais do que um banco de dados em memória. Bom, calma aí, para você que não está acostumado com isso, a gente vai mostrar um pouquinho de como que é a ideia e como é que essas coisas vão ajudar a gente no dia a dia. Bom, o Amazon Elastic Cache é um serviço que vai fazer o seguinte, ele vai manter algumas das suas informações em memória para melhorar a velocidade de entrega de dados para a sua aplicação, por exemplo. Então, com isso, você vai conseguir aumentar a performance das suas aplicações no dia a dia. Você vai conseguir escalar sua aplicação e escalar o gerenciamento de dados também com cache na memória desse banco de dados. Isso é muito utilizado, muito mesmo, quando a gente está falando no dia a dia para ter aplicações que respondem mais rápido. Cada vez mais a gente precisa de aplicações mais rápidas e conseguem entregar para o cliente uma experiência melhor, certo? quando a gente está fazendo isso, imagina que você precisa buscar dados da sua aplicação no banco de dados cheio de coisa lá, um monte de informação e assim por diante uma das estratégias que foi criada é usar um pouco dessa memória em cache, tentar colocar um pouco desse dado em cache já é uma estratégia antiga, sendo muito honesto, isso já acontece na computação desde sempre, só que agora muito organizado e com estratégias ainda melhores, onde você consegue também trabalhar com elasticidade de utilização desse banco de dados, ou seja, você consegue fazer uma escala do seu banco de dados em memória, consegue trabalhar ele diferente do que a gente usava antigamente quando a gente estava falando em on-premises ou em outros tipos de linguagem, tá bom? Mas vamos lá, vamos falar um pouquinho dele com este desenho que acho que fica mais fácil da gente entender. Bom, o desenho já tem bastante coisa aqui, tá? Mas a gente vai focar como a gente tem feito o tempo todo para a gente não se perder. Então você vê aqui as suas instâncias EC2, a gente já falou sobre isso, o seu EKS, ECS, representados aqui, tem as Lambda Functions e assim por diante. Todo mundo batendo num load balancer, beleza? Então você tem um monte de clientes aqui que estão acessando as coisas e essas peças são intermediárias para eles conseguirem chegar no seu banco de dados tá se você parar para olhar aqui é ele está usando esses renda o próximo escala são muito fera pra gente conseguir também fazer é uma melhoria na consulta de banco de dados porque vai fazer é a abertura de vários vários tipos de memória ele me ajuda bastante na hora que está usando o banco de dados é no dia a dia mas vamos pular ele para a gente falar só desse carinha aqui, o Elastic Cache no Redis, essa arquitetura eu peguei no próprio site da AWS, lá vocês vão ver que tem uma porrada de arquiteturas já prontas, de desenho que eles já fizeram e assim por diante, mas vamos focar aqui no Elastic Cache no Redis, o que esse Redis está fazendo? Basicamente é o seguinte, imagina que você tem aqui um monte de de mensagens um monte de dados e tem dois bancos de dados aqui inclusive ele fez uma quebra aqui de rs você para olhar e fez um banco de dados só de gravação e um só de leitura uma estrutura que me disse que rs e tem um redis aqui ainda para melhorar a performance ele ainda colocou renda o próximo, ele está querendo velocidade mesmo. Se você olhar aqui na estratégia colocada, ele gastou tudo o que ele tinha na manga para colocar velocidade, tá bom? Então essa arquitetura está bem desenhada para quem quer velocidade de entrega. Imagina que você, além de colocar um cara que ele vai melhorar a velocidade de entrega do seu banco de dados, você pode trabalhar com alguns dados em memória vou dar um exemplo, imagina que você está trabalhando a consulta de saldo de uma pessoa a consulta de saldo, se você puder mostrar um saldo que ele não está com o último segundo atualizado por exemplo, você pode colocar em cache um pouquinho do saldo que você acabou de buscar ou seja quando essa pessoa tiver na sessão tá imagina que eu entrei agora na minha conta vila o saldo ainda estão na sessão uma das idéias é que eu posso colocar esse saldo em cash porque na próxima vez que eu mudar de de tela ou voltar essa memória esse saldo tiver em queixa consigo buscar mais rápido é uma das idéias outra idéia. Imagina que eu tenho que fazer um cálculo super estratégico para a minha aplicação. A minha aplicação vai lá e pega, por exemplo, a cotação do dólar para fazer o cálculo. Só que eu posso trabalhar com uma cotação do dólar que eu peguei na hora do início da sessão. E daí eu vou lá, busco essa meu cálculo. Ah, mas isso é muito simples. Sim, vamos fazer outra ideia então, por exemplo. Imagina que eu tenho que fazer cálculo de accrual de parcela. E esse cálculo de accrual de parcela eu preciso, por exemplo, de uma calculadora super complexa de parâmetros de cálculo. Em vez de eu ficar buscando esses parâmetros de cálculo todas as vezes, eu posso buscar uma vez, colocar em cache e depois colocar minha aplicação para rodar e ir buscando isso em cache toda hora. Essas são algumas estratégias muito simples de utilização de cache. Tem estratégias muito mais complexas que a gente vai falar durante o curso. Eu queria só passar para vocês o básico para vocês entenderem algumas estratégias que a gente pode colocar de utilização de cache. Beleza, galera? Vamos lá. O ElastCache vai muito além disso que eu falei pra vocês, tá? Primeira coisa que ele tem é uma performance aqui aprimorada, ou seja, como você está colocando esses dados em memória, a sua velocidade de consulta vai ser muito mais rápida do que você ir no banco de dados comum. Ou seja, você não vai ter que ir no banco de dados instalado num HD ou num SSD e assim por diante. Você vai buscar essa informação na primeira vez, depois você vai guardar em memória. E o consumo em memória é muito mais rápido. É igual no nosso computador. Quando a gente está buscando na memória do computador, é muito mais rápido do que buscar no HD. Inclusive, o SSD veio como ideia também de ser um drive de memória para ser mais rápido nisso. Mas ainda assim, ele vai perder para o que a gente fala de busca em memória mesmo. O cache é muito rápido em busca. E com isso você diminui muito o seu tempo de resposta. E diminui de verdade. Outra coisa também é a escalabilidade. Você pode escalar só aquilo que você precisa no seu cache. Você não precisa escalar o banco de dados inteiro. E às vezes se você tiver um banco de dados que você não está conseguindo mais escalar horizontalmente. No seu Elastic Cache você vai ter essa facilidade de escalar. Uma outra coisa também é a facilidade no gerenciamento. Ele é um serviço que gerencia as tarefas de rotina normais que a gente tem ali, de hardware, configuração de software, o patching e monitoramento, ou seja, tudo aquilo que a AWS consegue servir para a gente, para a gente não ter que gastar nosso tempo olhando para isso. E a confiabilidade. Se você tem um Elastic Cache bem implementado, você consegue replicar isso e os dados ali você consegue persistir também. Então ele consegue fazer tanto a consulta de dados em memória quanto a persistência. Esse é um ponto que a gente vai falar ao longo da nossa conversa, porque algumas pessoas só usam essa informação em memória e esquecem de fazer depois a persistência, algumas vezes acabam capotando. Então, utilizar o Elastic Cache é extremamente inteligente, ajuda muito a gente no dia a dia, mas você precisa tomar muito cuidado para usar isso de forma estratégica. Muita gente acaba cometendo alguns erros porque usa isso sem pensar tanto nos detalhes então você precisa pensar bastante já vi muita gente capotando a gente vai até falar aqui de alguns casos para a gente não acometer esses erros no dia a dia beleza e aqui quando está falando de last cache a gente tem basicamente dois grandes players aqui quando a gente tá falando na ws um deles é o redis e a gente vai detalhar ele o outro é o main c, e a gente vai detalhar ele, e o outro é o Mancached. A gente também vai detalhar e vai começar a discutir quais são as diferenças entre eles, quando cada um é melhor, assim por diante. Vamos começar pelo Redis, mas basicamente, no dia a dia, o que a gente mais usa é o Redis, tá bom, gente? É pra vocês entenderem. Esse carinha aqui é muito foda.