SaaS Single-tenant vs Multi-tenant (devo criar um banco por empresa!)

  Рет қаралды 21,853

Rocketseat

Rocketseat

Күн бұрын

Пікірлер: 29
@codegus_
@codegus_ 8 ай бұрын
Eu trabalhei numa empresa que tinha o conceito de Multi-Tenant, mas era para a área de autenticação e user management. Basicamente nossa APP servia multiplas empresas e cada uma dessas empresas tinham seus clientes, então nós tinhamos multi-tenants e cada tenant tinham seus clientes. Quem logava na nossa aplicação eram os clientes dos clientes, mas cada um tinha as informações apenas do seu tenant relacionado. Era um banco para todos os nossos tenants e clientes deles, tudo baseado em tenant id e outras coisas similares.
@vkRenan
@vkRenan 8 ай бұрын
Puta que pariu, que maluquice.
@wanderhungerbuhler
@wanderhungerbuhler 8 ай бұрын
Curto demais seus vídeos Diego/Rocketseat, mas o mercado não está apenas com MicroSaaS, React e NextJS. Estão mais exigentes e pedindo AWS, GCP principalmente. Seria interessante trazer conteúdos com esse aspecto ou liberar dentro da plataforma para quem é membro.
@rafaelsantana588
@rafaelsantana588 8 ай бұрын
Up. Um curso pra área de DevOps na plataforma seria sensacional. Criação de imagem docker para produção, desenvolvimento de aplicação voltada para escalabilidade horizontal com múltiplas instâncias, orquestração com swarm ou ferramentas AWS seriam sensacionais.
@DiogoMoreira-u1s
@DiogoMoreira-u1s 8 ай бұрын
ansioso pra ver o codigo-fonte dessa maravilha
@ageurodriguesdeoliveira8953
@ageurodriguesdeoliveira8953 7 ай бұрын
Antigamente não, aqui na empresa ainda é feito assim. Delphi, Firebird e por ai vai :)
@RafaelRodriguesdeveloper-cb9mw
@RafaelRodriguesdeveloper-cb9mw 8 ай бұрын
Muito boa a explicação Diego. Trabalhei em uma empresa que o SaaS deles era Single-Tenant, tinha muita dificuldade para fazer atualizações. Neste caso compensaria construir uma nova aplicação Multi-tenant pra sanar este problema? E qual seria o nível de dificuldade?
@riadyounes00
@riadyounes00 8 ай бұрын
Quando esse curso vai pra dentro da plataforma ?
@wesleyall
@wesleyall 8 ай бұрын
Ficou meio vago, sentir falta de soluções o que possivelmente essas empresas grandes usam. Pq assim.. sobre multi tenant eu só imagino 4 possibilidades: Separados por DOMINIOS, BANCOS, SCHEMA DE BANCO OU FK que identifica o cliente. Essa de FK é o melhor custo mas bem chata de implementar pq em toda consulta tem q por onde clienteId=clienteId. Se possível fala mais sobre. Estou a frente de um projeto multi tenant e fiquei curioso sobre o que vcs tem a falar. Vlw!
@rafaelsantana588
@rafaelsantana588 8 ай бұрын
Eu utilizo essa estratégia do FK, como utilizo jwt para autenticação, posso confiar no tenant_id e user_id que ele envia. Assim, todos os meus controllers passam para os use cases o tenant_id (e se preciso o user_id) e a primeira coisa que faço em casa use case é validar se o recurso solicitado pertence ao usuário. Realmente é meio chato e é uma consulta a mais no banco de dados, mas depois que acostuma já fica automático fazer a validação nas primeiras linhas do use case (e o copilot já aprendeu e sugere a validação certinha 😂😂😂😂). Mas HOJE acho que se eu fosse fazer outro SAAS do zero, usaria um schema por tenant, que não precisaria dessas validações…
@wesleyall
@wesleyall 8 ай бұрын
@@romulo886 psr. Por schema é bom pq utilizamos somente um banco. E os clientes ficam separados internamente no schema. Mas a manutenção em casa de update na estrutura vai precisar ser aplicada para cada schema logo deixa difícil na manutenção. É tal dos prós e contras. E sobre a condição eu falei clienteId=clienteId só pra ilustrar. Eu uso ORM. Ele tem já as configs pra evitar esses ataques. Tmj
@wesleyall
@wesleyall 8 ай бұрын
@@rafaelsantana588 exatamente kk fica meio complexo mesmo, essa tbm é minha dor kk, mas acostuma. Por isso queria ouvir mais sobre. Sobre o schema é bom pq evita as condições mas a manutenção fica mais difícil se tiver necessidade de por exemplo: adicionar uma coluna nova. Vai ter q replicar para todos os tenants.
@williammendonca9975
@williammendonca9975 8 ай бұрын
Diego, quando este projeto entra no Ignate?
@juniorrocha8888
@juniorrocha8888 8 ай бұрын
Gostei da explicação. Então o ideal seria multi tenant de schema?
@thimor
@thimor 7 ай бұрын
tem 3 abordagens. um schema por empresa, um schema para todas as empresas ou um banco para cada empresa.
@Mora0219
@Mora0219 7 ай бұрын
Onde ele faz live?
@jejeexd
@jejeexd 8 ай бұрын
esse projeto vai completo pro ignite?
@felipeduartebarbosa7009
@felipeduartebarbosa7009 5 ай бұрын
A vantagem do multi-bancos, alem do isolamento de dados ser trabalhado com mais facilidade, eu tenho a liberdade de escolher a infra por cliente, nao preciso ficar gastando uma infra de 32GB e 8 CPUS para minha instancia do banco de dados, para aquele cliente que nao tem muitas requisicoes, onde escolho algo mais real para o cliente, onde acabo tendo uma economia, a desvantagem é a complexidade de manutencao disso, trabalhar com varios bancos, atualizacoes é um saco, mas da para desenvolver ferramentas para esse tipo de coisa.
@marcosferreira8463
@marcosferreira8463 5 ай бұрын
E como vc faz para atualizar as estruturss de tds os bancod ao mesmo tempo?
@EduardoMeneghel-g8f
@EduardoMeneghel-g8f Ай бұрын
@@marcosferreira8463 Usando um migration acredito que resolveria, da para colocar o migration rodar em todos os bancos quando é feito o deploy
@bragancx
@bragancx Ай бұрын
@@marcosferreira8463 foi mal a demora, mas basicamente você pode gerar um script usando alguma linguagem de programação que consiga se conectar ao seu banco de dados, algo como python, e faz um loop rodando os scripts em todos os bancos 🖊️🔥
@LucasSoaresAraujo
@LucasSoaresAraujo 8 ай бұрын
Existem várias abordagens de multi tenant para banco de dados, algumas delas são: bancos de dados separados; banco de dados compartilhado e esquema de dados separados; banco de dados e esquema de dados compartilhados.
@thiagomenezes8975
@thiagomenezes8975 7 ай бұрын
Eu queria criar um crud multiusuários, tem curso?
@davidlima3617
@davidlima3617 8 ай бұрын
o pessoal cria problema onde n tem!
@fagnerroberto5265
@fagnerroberto5265 8 ай бұрын
Dúvida. Como fica a parte de backup para um banco apenas. Ex: cliente quer o backup dos dados dele?
@rafaelsantana588
@rafaelsantana588 8 ай бұрын
Partindo do pressuposto que toda tabela sua contém um tenant_id, era só fazer backup de todos os dados que contém aquele tenant_id.
@Danilo_DMA
@Danilo_DMA Ай бұрын
Usa AWS. Solução usada pela maioria das empresas, então recomendo.
@raphaelrychard5440
@raphaelrychard5440 7 ай бұрын
Eu fiz estágio numa empresa que era desse jeito em delphi(2:23) kkkkkkkkkkkkkkkkk
Design Pattern: Como arquitetar uma aplicação multi-tenant
15:28
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
POR QUE MICRO-SAAS É UMA M*
19:10
Felipe Fontoura
Рет қаралды 15 М.
Multi-Tenant: Database Per Tenant or Shared?
8:55
CodeOpinion
Рет қаралды 20 М.
Java - Implementando multitenancy por banco de dados
13:36
Renan Lessa | Panela Dev
Рет қаралды 761
Eu RESUMI o Next.js 14 para você! (Server Components & Actions)
24:10
15 exemplos de Micro SaaS IA que já estão faturando
17:16
NoCode StartUp
Рет қаралды 62 М.
LAVROV's interview with Tucker CARLSON 😁 [Parody]
8:34
Юрий ВЕЛИКИЙ
Рет қаралды 351 М.
Multi-Tenant SaaS Architecture (Next.js Auth)
22:57
ByteGrad
Рет қаралды 29 М.
Como Criar um SaaS Rápido (FAIL FAST)
9:57
Eduardo Borges
Рет қаралды 25 М.
Node.js Agora Suporta o Banco Mais Popular Do Mundo by Erick Wendel
29:10
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59