Domanda

Quali sono le migliori pratiche nella creazione di applicazioni che supportano più inquilini, come Software as a Service?

Link a white paper che si espandono su questo argomento sono molto apprezzate.

È stato utile?

Soluzione

Si potrebbe trovare qualche consiglio prezioso in una serie di post di blog da Oren Eini.

Questo è uno degli ultimi post della serie, con i link ai post precedenti: http://ayende.com/Blog/archive/2008/08/16/Multi-Tenancy--Approaches-and-Applicability.aspx

Altri suggerimenti

Per il database:

A. Mettere il tutto sullo stesso database, messo una colonna tenant_id sulle vostre tavole

Pro: Facile da fare

Contro: molto inclini a bug: è facile perdere i dati da un inquilino ad un altro.

B. Mettere tutto sullo stesso database, ma mettere ogni inquilino nel proprio spazio dei nomi (PostgreSQL loro schemi chiama)

Pro: offre una migliore protezione dei dati di perdita di opzione A

Contro: Non supportato da tutti i database. Per quanto ne so PostgreSQL e Oracle supporta.

C. Imposta un database per inquilino

Pro: assolutamente alcuna possibilità di fuoriuscita di dati da un cliente in un'altra

Contro: La creazione di nuovi inquilini è più complicato. connessioni al database sono costosi.

Ho imparato solo le idee di cui sopra da Guy Naor. Ecco un link per la sua presentazione: http : //aac2009.confreaks.com/06-feb-2009-14-30-writing-multi-tenant-applications-in-rails-guy-naor.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top