bom pessoal no nosso vídeo anterior a gente falou sobre cqrs tá a a idéia principal era mostrar pra vocês que o seu sistema é dividido em duas partes uma parte para comando uma parte para a leitura tá ea parte de comando possui as regras de negócio ea parte de consultas não necessariamente elas possuem essas regras de negócio o importante você também tem que entender com o secrs é que você tem uma forma que opcional de trabalhar com um banco de dados como assim se você perceber aqui tá nesse formato você vai ver que tanto os comandos quanto às consultas eles vão ler aqui do mesmo banco de dados tá então é isso é um ponto muito claro aqui para você trabalhar. Mas muitas pessoas também trabalham, principalmente, de acordo com algumas necessidades do sistema, com dois bancos de dados. Quais são esses bancos de dados? Um banco de dados para escrita e um banco de dados para consulta. de dados um banco de dados para escrita e um banco de dados para a consulta e eventualmente tá eventualmente esses bancos de dados eles vão ser o que sincronizados tá e o porquê você quer fazer isso tá existem alguns motivos para você querer trabalhar dessa forma um motivo é que muitas vezes você tem um banco de dados que tem a uma operação muito intensa de escrita tá e você não quer ainda sobrecarregar esse mesmo banco com leitura porque pode fazer com que você tenha baixa performance muitas vezes você também tem a situação contrária você tem um banco de dados que é intensivo para a leitura mas ele tem baixo escrita ou eventualmente os dois então às vezes é interessante você separar esses bancos de dados tá agora também tem um outro motivo e que muitas pessoas acabam não falando tá e que é importante você também entender que é o seguinte às vezes você quer aqui por exemplo gravar os dados e na hora que você vai gravar os dados aqui você vai perceber que você vai ter que ter por exemplo isolamento tá você vai ter que ter a você vai ter que ter transações você vai ter que ter um monte de coisa aqui então nesse caso aqui o que você vai? Você vai guardar esses dados aqui estruturados, sei lá, num banco de dados realmente relacional. Bacana? E isso aqui para mim é importante aqui nesse momento, por exemplo. Para eu fazer as consultas, esses dados aqui, eles estão estruturados de uma forma tão complexa que fica difícil eu fazer a leitura. Como assim fazer a leitura? Eu não sei se você já passou por alguma situação, mas imagina que você vai ter que fazer um relatório e para fazer aquele relatório você tem que fazer uma query SQL gigantesca, gigantesca e otimizada. que é gigantesca, gigantesca e otimizada. Então, para facilitar esse tipo de coisa, o que você faz? Você grava os dados no banco de dados de forma estruturada, daquele jeito tudo certinho, como um banco de dados relacional, mas também você vai ter uma cópia dessas informações estruturada de tal forma que fique muito fácil fazer as consultas. E normalmente também quando fica fácil fazer as consultas dessa forma, pode ser também que fique até mais performático eu fazer a consulta então nesse caso faz sentido eu ter dois bancos de dados um para a leitura uma para a escrita mas a estrutura desses bancos de dados são diferentes porque porque eu quero ter mais simplicidade velocidade na leitura mas eu quero ter mais estrutura e consistência tá na escrita bacana então é importantíssimo você entender quando você precisa utilizar um banco de dados ou dois bancos de dados na minha opinião tá a vale muito a pena quando você tem que é complexa separar esses bancos de dados porque aí você pode ser a sei lá separar um relatório inteiro por colunas você tem queries complexas, separar esses bancos de dados, porque aí você pode separar um relatório inteiro por colunas, você tem opções diferentes de banco de dados, você tem banco de dados orientado a documentos, banco de dados colunar, você tem banco de dados específico para search. Então, tem diversas formas para você conseguir trabalhar. Então, o CQRS permite também isso aqui para você. Se o seu modelo de gravação não precisar retornar dados, não precisa fazer leitura, o que acontece? Vai fazer com que você consiga ser muito rápido para gravar e muito rápido para ler também, porque essas duas camadas na sua aplicação elas estão separadas tá agora o grande problema de trabalhar dessa forma é essa consistência que é eventual o que isso significa significa que nem sempre o dado daqui de baixo vai estar atualizado com o dado aqui de cima ele não vai estar na realidade porque porque na hora que o dado está sendo gravado aqui ele não está sendo gravado aqui ao mesmo tempo esses dados eles precisam de um tempo para sincronizar nem que seja um milissegundo mas para alguns sistemas um milissegundo faz diferença então você tem que saber que se você for trabalhar dessa forma, você vai ter eventualmente inconsistência. E você tem que saber se o sistema que você trabalha pode estar inconsistente em algum momento. Se ele puder estar inconsistente em algum momento, ele puder estar inconsistente em algum momento aí você pode trabalhar dessa forma agora se por algum motivo ele não pode estar inconsistente aí você vai ter um banco de dados só bacana então a é basicamente essa pegada galera espero que você tenha entendido, inclusive, essas diferenças de você trabalhar com um ou com dois bancos de dados aí. Fechou? Um grande abraço e é isso aí.