sql >> Base de Datos >  >> RDS >> PostgreSQL

Aplicación de rieles multiinquilino:¿cuáles son los pros y los contras de las diferentes técnicas?

MSDN tiene una buena introducción a la arquitectura de datos multiusuario .

En un extremo del espectro, tiene una base de datos por inquilino ("nada compartido"). "No se comparte nada" hace que la recuperación ante desastres sea bastante simple y tiene el mayor grado de aislamiento entre inquilinos. Pero también tiene el costo promedio más alto por arrendatario y admite la menor cantidad de arrendatarios por servidor.

En el otro extremo del espectro, almacena un número de identificación de arrendatario en cada fila de cada tabla compartida ("compartido todo"). "Compartido todo" dificulta la recuperación ante desastres:para un solo inquilino, tendría que restaurar solo algo filas en cada tabla compartida, y tiene el grado más bajo de aislamiento. (Las consultas mal formadas pueden exponer datos privados). Pero tiene el costo más bajo por arrendatario y admite la mayor cantidad de arrendatarios por servidor.

Esto suena como si estuvieras hablando de un esquema por inquilino. Preste mucha atención a los permisos (SQL GRANT y REVOKE declaraciones. Y ALTERAR PRIVILEGIOS POR DEFECTO .)