Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Emerson Rodrigo

Aplicação multi-tenancy PHP

Recommended Posts

Boa tarde pessoal!

 

Preciso criar uma aplicação em PHP que atenda a arquitetura multi-tenancy, ou seja varios usuários acesando a mesma aplicação, porém com banco de dados distintos.

 

Não sei nem por onde começar a modelagem deste sistema.

 

Alguém já desenvolveu ou está desenvolvendo uma aplicação deste tipo que possa me dar uma luz?

 

Qualquer ajuda é bem vinda.

 

Obrigado

 

Alguém?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estive pesquisando sobre multi-tenancy no google e encontrei uma forma de "mascarar" a arquitetura.

 

Seria contratando um servidor de Cloud e criando um container para cada cliente.

 

Isso seria viável?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viável é, mas existe a real necessidade de haver um banco de dados pra cada usuário?

 

Na minha visão sim, pois penso na questão de se por acaso acontecer algum problema com o banco de dados, apenas um cliente seria prejudicado, já com o banco compartilhado, em caso de problemas todos os clientes seriam prejudicados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os clientes não terão relação uns com os outros não.

Com um sistema compartilhado consigo enxergar dificuldades também na questão de "isolamento" por cliente de customizações.

 

O que acha sobre isso Henrique?

 

A aplicação é relativamente grande, no inicio seriam pelo menos 15 clientes.

 

Seria melhor compartilhar o banco de dados, ou separar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa,

 

Eu acho que a maioria das aplicações multi-tenant compartilham o banco de dados, mas são implementações mais simples.

 

Como quer separar tudo, ainda tem duas soluções: um banco com n schemas e bancos distintos. Eu costumo achar a do schema mais viável.

Não sei qual BD está utilizando... Nunca trabalhei com MySQL neste nível, mas se estiver utilizando PostgreSQL por exemplo, é bem simples fazer este tipo de aplicação criando vários schemas.

 

Caso tenha muitas customizações aí é melhor separar mesmo.

 

E já para a arquitetura, apesar de não trabalhar com PHP, acho que você decide qual BD acessar é no momento da requisição podendo ter todos os bancos de dados no mesmo lugar (com schemas é desta forma).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.