Visualizzazione risultati 1 fino 2 di 2

Discussione: miglior database per un social

  1. #1
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito miglior database per un social

    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
    Ultima modifica di zyro : 25-11-2015 alle ore 11.13.29

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Molto dipende da cosa devi fare in concreto, dal database che vuoi utilizzare (dal messaggio sembrerebbe relazionale), dal carico a cui questo deve essere sottoposto, etc.

    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.
    Creare una tabella per utente significa che, per ogni nuovo utente, devi alterare la struttura del database creando una nuova tabella: meglio evitare!
    Piuttosto, le relazioni di amicizia sono le tipiche relazioni "molti a molti", se usi MySQL o altri relazionali l'approccio tipico è quello di creare un'unica tabella "friends" con due campi, ciascuno dei quali rappresenta un utente.
    Lo stesso vale per i messaggi, una relazione "molti ad uno" di solito realizzata con una tabella "message" contenente il riferimento all'autore del messaggio (più i normali campi del messaggio, come identificativo e contenuto).

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •