Skip to end of metadata
Go to start of metadata

O que é?

O modelo Multi Inquilino (no inglês, multi-tenancy) permite que uma única aplicação hospedada em um servidor possa ser compartilhada entre diversos inquilinos, comportando-se como múltiplas aplicações independentes para atender diferentes clientes. Para saber mais sobre como criar um projeto multi inquilino acesse a página Criando um Projeto Web Multi-Inquilino.


Figura 1 - Arquitetura multi-inquilino

Como Funciona?

Com o conceito de multi inquilino, cada cliente acessa apenas os seus próprios dados, usando iguais ou diferentes banco de dados . Isso significa que é possível ter vários inquilinos (geralmente um por cliente) sem que um tenha conhecimento sobre os outros.

Existem três tipos de abordagens mais comuns para a implementação de multi inquilino: Bancos de dados Separados, Esquemas Separados e Esquemas Compartilhados.


Banco de dados Separados: Um banco de dados específico para cada cliente. 

Esquemas Separados: Os bancos de dados são compartilhados, porém cada inquilino tem seu próprio esquema (conjunto de tabelas).

Esquemas Compartilhados:  Os esquemas são compartilhados entre inquilinos e são distinguidos através de um atributo (coluna) que identifica cada inquilino.    



Figura 2 - Abordagens para implementação multi-inquilino


Não existe estratégia melhor que a outra, todas tem suas vantagens e desvantagens, por isso para escolher a estratégia ideal para sua aplicação é necessário analisar quais são as demandas que o sistema pretende atender, por exemplo, quantidade de usuários, performance, confiabilidade. Além disso, existem formas diferentes de implementações  de multi inquilino, por exemplo, o Eclipselink e o Hibernate implementam multi-inquilino de forma totalmente distintas. Atualmente, o Cronapp usa o Eclipselink para o multi inquilino e utiliza a estratégia de esquema compartilhado, chamado de single-table no eclipselink.

Leituras Recomendadas     

Recomendamos também alguns artigos para maior compreensão sobre multi inquilino:


 

Nesta página

 

  • No labels