Pular para o conteúdo principal
FLEXORA

Multi-tenancy preparada sem superdimensionar

Preparar o acesso a dados para uma operação futura com várias empresas e filiais, sem transformar o MVP em uma solução superdimensionada quando ele opera inicialmente com uma empresa e uma filial.

Última atualização: 2026-09-18 · Responsável: Equipe de engenharia da Flexora

Alternativas consideradas

Descartada
Assumir que a persistência sempre corresponde a um único banco de dados.
Escolhida
Preparar a camada de persistência para que essa suposição não fique incorporada ao código.

Decisão tomada

Centralizar o acesso a dados por meio de um contexto de tenant. O MVP usa um banco compartilhado, mas o código não depende dessa condição. A hierarquia considerada é tenant, empresa, filial e localização.

Justificativa

Permite começar com o escopo inicial e manter um caminho de crescimento para multiempresa e multifilial sem uma reescrita posterior.

Perguntas frequentes

O que a Pymerce decidiu sobre "multi-tenancy preparada sem superdimensionar"?
Centralizar o acesso a dados por meio de um contexto de tenant. O MVP usa um banco compartilhado, mas o código não depende dessa condição. A hierarquia considerada é tenant, empresa, filial e localização.
Qual é a diferença entre single-tenant e multi-tenant, e por que a Pymerce escolheu essa hierarquia?
No single-tenant, cada cliente fica isolado em seu próprio banco ou infraestrutura; no multi-tenant, os recursos são compartilhados entre clientes com isolamento lógico. A Pymerce define uma hierarquia de tenant, empresa, filial e localização, e resolve o acesso aos dados sempre pelo tenant, mesmo que o MVP use um único banco compartilhado.
Vale a pena cada cliente ter seu próprio banco de dados, ou dá para compartilhar um só?
Para o escopo inicial da Pymerce, compartilhar um único banco é suficiente e mais simples de operar. A decisão importante não é o banco em si, mas o fato de o código nunca partir dessa suposição: o acesso sempre passa pelo contexto de tenant, então migrar para bancos separados mais adiante não exige reescrever a camada de dados.
Quais são as desvantagens de preparar multi-tenancy já desde o MVP?
Isso adiciona uma camada de indireção (o contexto de tenant) que não seria necessária se o negócio nunca crescer para multiempresa. A Pymerce limita esse custo centralizando o acesso aos dados em um único ponto do código, em vez de construir isolamento físico ou infraestrutura separada que ainda não é necessária.

Esse tipo de decisão também vale para o seu projeto

Se a sua operação precisa de um software sob medida com decisões técnicas documentadas e sustentáveis no tempo, podemos ajudar a defini-las.