Bom pessoal, seguinte, no vídeo anterior a gente falou sobre N-tier, N-layer, arquitetura e agora a gente vai falar um pouco sobre multi-tenant architecture. Lembrando que quando a gente está falando de uma arquitetura multi-tenant, não necessariamente você tem que estar utilizando uma arquitetura baseada em camadas. Poderia ser apenas uma aplicação, uma camada só e etc. que está utilizando a uma arquitetura baseada em camadas está poderia ser apenas uma aplicação uma camada só e etc e etc mas aqui eu estou aproveitando o desenho anterior o que é multi tênis tá tênis basicamente é quando a gente está falando em inglês é a pessoa que aluga uma casa um quarto seu tá ou seja um inquilino né e o que o multi tênis faz significa que o seu sistema ele pode ter entre aspas diversos inquilinos ou seja diversos a usuários que fazem parte de organizações diferentes como assim o esle olha só que interessante imagina que eu tenho um que fazem parte de organizações diferentes. Como assim, Wesley? Olha só que interessante. Imagina que eu tenho um sistema de gestão financeira, e esse sistema de gestão financeira quer atender diversas empresas. Mas eu não quero disponibilizar ou fazer um deploy do meu sistema para cada empresa, porque fica difícil de eu dar manutenção então quando a gente está trabalhando com multi tenente o que que isso significa significa que eu vou ter um único sistema uma única aplicação obviamente ela pode escalar tudo mais mas para diversos tipos de usuário então olha só que interessante vamos Vamos imaginar que eu tenho a empresa 1 querendo usar o meu sistema e eu tenho a empresa 2. Então, o que acontece? Eu vou chamar a empresa 1 de tenant ID é igual a 1 e a empresa 2 de tenant ID é igual a 2. Então, essas duas empresas, elas acessam, elas geram transações, elas armazenam dados, mas esses dados não podem ser vistos ou compartilhados entre as empresas. Cada empresa vê apenas os seus dados. Isso é muito comum quando a gente está trabalhando com plataforma SaaS, de Software as a Service. Então, o que acontece? Olha só, a empresa 1 acessa a parte de Presentation, a empresa 2 acessa a parte de Presentation, para começar a trabalhar na aplicação. Aí o que que acontece? É passado o Tenant ID que está dessas empresas. Então com o Tenant ID eu consigo identificar qual é a empresa que está querendo acessar ou executar qualquer tipo de transação. E aí, no outro lado, eu tenho algumas formas, alguns approaches de como que eu vou armazenar esses dados. Então, o que pode acontecer? Pode ser o seguinte, eu uso uma única aplicação, mas na hora de salvar os dados, eu crio dois bancos de dados. Um banco para a empresa 1, um banco para a empresa 2. Então, na hora de guardar, eu sei que o ID é 1, então eu salvo no banco de dados 1. Na hora de salvar, eu sei que o ID é 2, eu salvo no banco de dados 2. Legal? Essa é uma abordagem. Uma outra abordagem, tá? É eu trabalhar do seguinte forma, com tabelas diferentes. Então, vamos imaginar que eu tenho a tabela de produtos né então criou a tabela de produto um ea tabela de produto 2 na tabela de produto eu tenho todos os produtos da empresa um na tabela de produtos hoje eu tenho todos os produtos da empresa 2 então essa é mais uma abordagem tá e uma terceira abordagem e que normalmente é a mais comum, pelo que eu vejo, é em relação a tabelas. O que isso significa? Eu tenho uma tabela produtos, e na tabela produtos eu vou ter uma chave primária, composta provavelmente, que vai ter qual é o ID do tenant. Então eu vou ter tenant IDis aí de um tênis é do de 2 isso significa o que que na hora que eu vou fazer meus é listar os produtos para o empresa um eu sei que o id dele é um inter vai dar um select asterisco com produtos onde o tênis id é igual a um e daí vai trazer somente os produtos dele tá que qual é a melhor decisão aqui vai depender muito de quantidade de dados tá de quantidade do tamanho de cada empresa ou qualquer coisa desse tipo vou dar um exemplo aqui pra você tá vamos imaginar que eu tenho mil empresas como clientes e essas mil empresas são mais ou menos tudo mesmo tamanho então o que acontece conforme elas vão acessando né e tem mais ou menos a mesma quantidade de acessos você vai escalando o banco de dados vai escalando a aplicação e tudo bem e daí você faz uma separação por tabela por exemplo tabela não por chave primária é que essa última opção que eu mostrei aqui para você, e vai funcionar perfeito. Maravilha. Aí, de repente, faz de conta que a Coca-Cola vai virar seu cliente também. O que pode acontecer nesse tipo de situação? Pode acontecer que o tráfego da Coca-Cola seja tão grande, que vai fazer com que os outros usuários da plataforma sejam prejudicados. O sistema fica um pouco mais lento. Pode acontecer também que por questões de governança, a Coca-Cola fale o seguinte, eu não quero que no meu banco de dados tenha dados de outras empresas por questões de regulamentação. Então, o que você pode fazer? Você pode fazer o seguinte, você pode pegar a sua aplicação, quando for o cliente Coca-Cola, você manda acessar o banco de dados 1. Quando forem todos os outros clientes, manda fazer a separação por tipo de tabela, por tipo de chave primária ou por tipo de tabela. Entende? Então, não existe uma única regra. Você pode brincar isso de acordo com o que você quer trabalhar. Entendeu? Então, ou, eventualmente, você pode pegar a Coca-Cola e gerar um deployment totalmente diferente para ela, para que ela fique no ambiente totalmente isolado e que todos os outros seus clientes fiquem no outro ambiente isolado sacou o que eu estou dizendo então quando a gente está trabalhando aqui com multi tenente o importante é você entender que existem essas opções aqui bancos de dados tabelas a e chaves primárias para você conseguir fazer a separação dos seus tenants. Galera, nada é escrito em pedras. O importante é você saber, de acordo com o contexto da empresa. Olha, a minha empresa só vai resolver clientes muito grandes. Então, como que eu vou fazer? Ah, não, eu vou atender o público e gerar um monte de microempresa. Então, eu vou trabalhar de outra forma. Contexto é tudo, galera. Beleza? Um grande abraço e até o nosso próximo vídeo.