Avevamo una grande applicazione LOB che forniva ai cassieri bancari informazioni di identificazione sul membro in piedi di fronte a loro. I nostri dati testuali sono stati archiviati in SQL Server. I dati dell'immagine sono stati archiviati in file. Il campo del database aveva semplicemente un nome file. Questo approccio funziona bene se sei dietro il firewall. Leggere e scrivere file è facile. Il problema è la gestione dei file. È necessario proteggere il file system in modo che le persone a caso non possano visualizzare la directory. Inoltre, i backup sono più complicati con file di immagini sfusi. Devi fare il backup del database e dei file immagine. I campi possono fare riferimento a percorsi che non esistono più. Ad esempio, alcuni tizio IT decide di spostare la cartella dell'immagine e ora tutti i riferimenti nel db sono interrotti. Se l'applicazione deve passare le informazioni attraverso il firewall, suggerirei di archiviare le immagini in SQL Server utilizzando la memoria FileStream menzionata.
La memorizzazione delle immagini nel database ci avrebbe risparmiato un po 'di dolore. Avremmo solo dovuto eseguire il backup del database, sarebbe stato più sicuro, i riferimenti non si sarebbero mai interrotti e non avremmo dovuto saltare i telai per ottenere file dalla rete al di fuori del firewall.
Flickr utilizza l'archivio database. Forse sanno una cosa o due su questo. http://code.flickr.com/blog/2010/02/08/using-abusing-and-scaling-mysql-at-flickr/ – Yada