Estrategias de aislamiento de datos en aplicaciones SaaS multiinquilino.
Las aplicaciones SaaS necesitan aislar los datos de diferentes inquilinos. PostgreSQL ofrece varias estrategias para la multiinquilinidad.
Estrategias de aislamiento
Hay tres enfoques principales: base de datos por inquilino, esquema por inquilino, o esquema compartido con columna tenant_id.
Esquema por inquilino
Cada inquilino tiene su propio esquema. Esto ofrece un buen aislamiento con un coste moderado.
CREATE SCHEMA tenant_123; SET search_path TO tenant_123;Esquema compartido
Todos los datos en un solo esquema, separados por tenant_id. Más eficiente para muchos inquilinos pequeños.
Nuestra elección
Utilizamos esquemas separados por dominio (blog, food, business) dentro de una base de datos compartida. Esto equilibra el aislamiento y la eficiencia.
Conclusión
La elección depende del tamaño del inquilino, los requisitos de aislamiento y la complejidad operativa.