Estratégias de isolamento de dados em aplicações SaaS multi-tenant.
Aplicações SaaS precisam isolar dados de diferentes clientes. PostgreSQL oferece várias estratégias para multi-tenancy.
Estratégias de Isolamento
Existem três abordagens principais: banco por tenant, schema por tenant, ou shared schema com coluna tenant_id.
Schema por Tenant
Cada tenant tem seu próprio schema. Isso oferece bom isolamento com custo moderado.
CREATE SCHEMA tenant_123; SET search_path TO tenant_123;Shared Schema
Todos os dados em um schema, separados por tenant_id. Mais eficiente para muitos tenants pequenos.
Nossa Escolha
Usamos schemas separados por domínio (blog, food, business) dentro de um banco compartilhado. Isso balanceia isolamento e eficiência.
Conclusão
A escolha depende do tamanho dos tenants, requisitos de isolamento, e complexidade operacional.