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

preview_player
Показать описание
Sempre que você desenvolver um SaaS (Software as a Service) vai precisar escolher a melhor arquitetura para compartilhamento de recursos e dados entre os usuários da aplicação.
Acontece que essa decisão não afeta apenas o banco de dados, como muita gente pensa.

Nesse vídeo vou te explicar um pouco mais sobre isso e apresentar as arquiteturas Single tenant e Multi-tenant, falando das especificações e detalhes de cada uma, usando um projeto meu como exemplo.

-----

Acompanhe a Rocketseat nas redes sociais:
Twitter: @rocketseat
Facebook: @rocketseat
Instagram: @rocketseat
Рекомендации по теме
Комментарии
Автор

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.

codegusoficial
Автор

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.

wanderhungerbuhler
Автор

Quando esse curso vai pra dentro da plataforma ?

riadyounes
Автор

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?

RafaelRodriguesdeveloper-cbmw
Автор

Diego, quando este projeto entra no Ignate?

williammendonca
Автор

ansioso pra ver o codigo-fonte dessa maravilha

DiogoMoreira-us
Автор

Antigamente não, aqui na empresa ainda é feito assim. Delphi, Firebird e por ai vai :)

ageurodriguesdeoliveira
Автор

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!

wesleyall
Автор

Gostei da explicação. Então o ideal seria multi tenant de schema?

juniorrocha
Автор

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.

LucasSoaresAraujo
Автор

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.

felipeduartebarbosa
Автор

Eu queria criar um crud multiusuários, tem curso?

thiagomenezes
Автор

Dúvida. Como fica a parte de backup para um banco apenas. Ex: cliente quer o backup dos dados dele?

fagnerroberto
Автор

Eu fiz estágio numa empresa que era desse jeito em delphi(2:23)

raphaelrychard