Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

 

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.