Ciao a tutti, avrei una domanda da porvi per togliermi qualche dubbio.
Di recente ho avuto la richiesta di partecipare a un gruppo di lavoro che si occuperà di creare un social network tematico.
Nello specifico io dovrei occuparmi di strutturare il database e di farlo approcciare a tutte le pagine / operazioni richieste.
Non mi è mai capitato di dovermi interfacciare con il DB di un social, quindi non ho mai avuto modo di studiarlo bene da vicino (fino a ora che ho iniziato a studiarmi un po' di materiale).
Ho già visto che mi conviene strutturare il tutto dividendo le varie sezioni del profilo in diverse tabelle, associare i contatti con altre tabelle separate e via dicendo (insomma è una struttura abbastanza complessa e articolata).
Essendo che a mio avviso la parte fondamentale in questo lavoro è l'approccio iniziale, volevo informarmi, ma non ho trovato nulla in giro su questo, su questo dubbio:
Secondo voi è meglio creare un'unica tabella dove salvare tutti i legami di "amicizia" di tutti gli utenti oppure creare una tabella per ogni singolo utente in cui inserire solo ed esclusivamente i riferimenti ai suoi contatti di "amicizia"?
Lo stesso varrebbe per la tabella dei messaggi, ma in questo caso sarei molto più propenso a creare una tabella per ogni utente.
So che può sembrare una domanda banale, ma non ho mai dovuto interfacciarmi con un potenziale tanto elevato di utenza, per cui non so quali possano essere i tempi di attesa di una query in una tabella tanto colma di dati o eventualmente quanto più tabelle possano incidere sul peso ed eventuale lentezza nella ricerca delle stesse.
Spero ci sia qualche esperto conoscitore di social in giro qui
EDIT: nessuno ha mai avuto esperienza nel settore? Mi piacerebbe confrontare le idee. Se la domanda non è chiara posso anche sintetizzarla