Ir para conteúdo
matheusjas

Como trabalhar com arquitetura multi tenancy?

Recommended Posts

Boas pessoal,


Seguinte, fui solicitado para desenvolver uma aplicação com arquitetura multi tenancy na linguagem PHP e utilizando o banco de dados MySQL.


Após ler vários materiais e posts pela internet, me surgiu uma dúvida. Como modelar a aplicação em si?


Tenho duas opções, sendo elas:


- **Aplicação e banco de dados compartilhados**

<br>Neste caso, teria apenas uma instância da aplicação e do banco de dados para todos os clientes.

- **Aplicação compartilha e banco de dados isolados**

<br>Neste caso, teria apenas uma instância da aplicação e cada cliente teria o seu banco de dados isolado.


A aplicação irá atender empresas (salões de beleza) que poderão ter somente a unidade sede e/ou a unidade sede e as unidades filiais. Todos os dois tipos serão multi-usuários e diversos módulos, alguns sendo: Cadastros de clientes, Cadastro de fornecedores, Cadastro de profissionais, Cadastro de Produtos e Serviços, Agenda, Controle de Estoque, Financeiro, Vendas e Compras.


Quem tem ou teve experiência com esse tipo de arquitetura multi tenancy, o que tem pra me aconselhar em relação ao uso do banco de dados? Pois a dúvida mesmo é: Utilizar o mesmo banco de dados para todos os clientes ou montar um novo banco de dados para cada novo cliente?


Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu caso, o melhor é um banco de dados para todos os clientes. Manter um banco de dados para cada cliente é complicado e é também mais caro. Ou seja, vá na primeira opção que você citou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu gosto de utilizar multi schema, onde tenho dois servidores, um para o schema principal responsável pela autenticação e direcionamento e o outro para os schema dos tenancy que terá as tabelas de negocio ex: client, product, diary...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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