sql >> Database >  >> RDS >> PostgreSQL

Toepassing Multi-tenant rails:wat zijn de voor- en nadelen van verschillende technieken?

MSDN heeft een goede inleiding tot multi-tenant data-architectuur .

Aan het ene uiteinde van het spectrum heb je één database per Tenant ("niets gedeeld"). "Niets gedeeld" maakt herstel na noodgevallen vrij eenvoudig en heeft de hoogste mate van isolatie tussen huurders. Maar het heeft ook de hoogste gemiddelde kosten per tenant en ondersteunt de minste tenants per server.

Aan de andere kant van het spectrum slaat u een tenant-id-nummer op in elke rij van elke gedeelde tabel ("alles gedeeld"). "Alles gedeeld" maakt herstel na noodgevallen moeilijk:voor een enkele tenant hoeft u slechts enkele te herstellen rijen in elke gedeelde tabel - en het heeft de laagste graad van isolatie. (Slecht gevormde query's kunnen privégegevens blootleggen.) Maar het heeft de laagste kosten per tenant en ondersteunt het hoogste aantal tenants per server.

Dit klinkt alsof je het hebt over één schema per tenant. Let goed op permissies (SQL GRANT en REVOKE verklaringen. En STANDAARDBEVOEGDHEDEN WIJZIGEN .)



  1. Oracle SQL hiërarchische query:hiërarchie afvlakken en aggregatie uitvoeren

  2. database wordt niet bijgewerkt

  3. De MIN-functie gebruiken in de hebbende clausule

  4. MySQL Storage Engine-optimalisatie:InnoDB-optimalisatie configureren voor hoge prestaties