Sono in fase di pianificazione di una nuova webapp e mi sto appoggiando con forza a un modello di multi-tenancy. L'app ha una funzione di archiviazione file, in cui l'utente può caricare (e operare su) file.
Vorrei la possibilità per l'utente di condividere questi file, comunque. In che modo questo viene tipicamente realizzato in un modello multi-tenant?
L'esempio sarebbe qualcosa come Google Documenti. Ogni utente ha i propri file; possono modificare, taggare e creare collezioni con questi file. Quindi, possono condividere un documento o una raccolta con qualcun altro per la collaborazione.
Se ogni utente ha il proprio database e tabelle, quale strategia si userebbe per consentire questo tipo di condivisione riducendo al minimo la duplicazione di file e metadati associati?