Archiviazione di file per un componente del blog: database o filesystem?

2

Svilupperò un componente del blog riutilizzabile abbastanza semplice, con semplici operazioni CRUD che utilizzano ASP.Net.

Quale metodo di archiviazione dei post del blog sarebbe più adatto alla situazione in termini di prestazioni / manutenibilità?

  • Crea un file XML e archivia i dati nel filesystem, la dimensione dei file non sarà probabilmente superiore a 50kb di dimensione
  • Archivia i dati del post di blog nel DB, recupera se necessario

Ho ragione nel presumere che il runtime asp.net memorizzerà nella cache i file .xml e li cancellerà / richiederne una nuova quando i loro contenuti sono cambiati? O devi aggiungere esplicitamente il file alla cache? Se questo è il caso, questo offre le migliori prestazioni rispetto alla memorizzazione dei dati nel database?

    
posta DGibbs 29.04.2013 - 19:57
fonte

3 risposte

13

Usa un database, questo è quello che sono per. Lo spazio di archiviazione dei file ha il suo posto, ma non lo userei per questo tipo di scenario. Si consideri, ad esempio, ottenere un elenco di post del blog contenenti un determinato tag. Fare questo con un database è banale, probabilmente solo una singola istruzione SQL. Farlo con i file comporterà un sacco di manipolazione dei file.

    
risposta data 29.04.2013 - 20:52
fonte
0

Am I right in assuming that the asp.net runtime will cache the .xml files and only clear them/request a fresh copy when their contents are changed? Or do you have to explicitly add the file to the cache?

No, non è un'ipotesi valida . Devi attivare la memorizzazione nella cache e creare un sistema di invalidazione.

If this is the case would this offer the best performance over storing the data in the database?

Riguarda la differenza tra larghezza di banda e tempo di elaborazione. Dovrai definire ciò che apprezzi nelle prestazioni prima che qualcuno possa dirti se sarà il migliore. Se consideri la CPU e la larghezza di banda più della memoria, allora sicuramente.

    
risposta data 29.04.2013 - 21:18
fonte
0

È possibile adottare un approccio ibrido, memorizzando i metadati strutturati di ciascun post di un blog in un database e quindi archiviare il testo non elaborato sul file system (o in un blob-store). La memorizzazione dei metadati in un database ti consente di eseguire query per blog, titolo, data, tag, utente, ecc. In un modo molto semplice, pur consentendo alle dimensioni del testo dei tuoi post di essere illimitate. Questo potrebbe essere interessante dal momento che hai affermato che questo era destinato a far parte di un componente del blog riutilizzabile.

    
risposta data 29.04.2013 - 21:19
fonte

Leggi altre domande sui tag