PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Applicazione binari multi-tenant:quali sono i pro ei contro delle diverse tecniche?

MSDN ha una buona introduzione all'architettura di dati multi-tenant .

A un'estremità dello spettro, hai un database per inquilino ("niente condiviso"). "Niente condiviso" rende il ripristino di emergenza piuttosto semplice e presenta il più alto grado di isolamento tra i tenant. Ma ha anche il costo medio più alto per tenant e supporta il minor numero di tenant per server.

All'altra estremità dello spettro, memorizzi un numero ID tenant in ogni riga di ogni tabella condivisa ("tutto condiviso"). "Condiviso tutto" rende difficile il ripristino di emergenza:per un singolo tenant, dovresti ripristinarne solo alcuni righe in ogni tabella condivisa e ha il grado di isolamento più basso. (Le query mal formate possono esporre dati privati.) Ma ha il costo più basso per tenant e supporta il maggior numero di tenant per server.

Questo suona come se stessi parlando di uno schema per tenant. Prestare molta attenzione alle autorizzazioni (SQL GRANT e REVOKE dichiarazioni. E ALTER DEFAULT PRIVILEGES .)