196 messaggi dal 12 febbraio 2016
Ciao a tutti,
vorrei realizzare un sito web per n utenti, ogni utente avrà un sottodominio (user1.miosito.it, user2.miosito.it, ecc..).

Vorrei avere qualche consiglio su come creare il database del sito web: dato che verrà usato da ciascun utente, creo tutte le tabelle con una colonna apposita "utente" oppure creo un db apposito per ogni cliente in maniera che il sottodominio ad esempio user1.miosito.it usi il db user1?
710 messaggi dal 13 novembre 2008
Contributi
ciao,
la risposta non è semplice e non riguarda solo lo storage, in genere occorre almeno capire: quale storage utilizzerai? che livello di isolamento dati vuoi garantire? in caso di restore dei dati puoi mettere offline tutti gli utenti? prevedi di dover-poter scalare lo storage in caso di aumento dell'utilizzo? dove intendi pubblicare il tuo sito, che piattaforma? quanti utenti contemporanei prevedi? ecc.
Ad esempio un hosting condiviso ha normalmente poco senso... occorre avere almeno un minimo di dati in più per capire quale soluzione SAAS adottare.
Detto questo, per semplificare, un singolo storage per tenant ti da il massimo dell'isolamento e della flessibilità, ma è difficile da supportare come costi e complica l'intera infrastruttura.
Un'altra opzione è uno storage in cui ogni tenant ha un set di tables, meno costoso, ma che rende alcune operazioni più difficoltose, pensa al backup ad esempio ed inoltre i dati risultano meno isolati. Infine un singolo storage dove identifichi i tenant per id, inizialmente sembra l'opzione più facile e meno onerosa, ma vanno valutate molte cose, tanto per fare alcuni esempi:
incremento degli utenti e delle chiamate --> lo storage può scalare? lo storage reggerà le richieste? quanto aumenteranno i costi allo scalare?
isolamento --> è sostanzialmente demandato all'app che governa il livello di sicurezza, ogni richiesta deve essere di conseguenza verificata correttamente
(visto cosa è successo al sito INPS di recente?)

se vuoi approfondire ti lascio un link, è specifico su Azure, ma i concetti si possono generalizzare
https://docs.microsoft.com/it-it/azure/sql-database/saas-tenancy-app-design-patterns
Modificato da teo prome il 05 maggio 2020 13:16 -
196 messaggi dal 12 febbraio 2016
Ciao Teo, ti ringrazio per la tua risposta molto esaustiva.
Evidentemente si tratta di un progetto molto superiore rispetto la mia esperienza di sviluppo, credo di abbandonare questa idea molto probabilmente.

Grazie cmq,
ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.