Ir para conteúdo

Arquivado

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

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

×

Informação importante

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