Memorizza foto HighRes nel database o come file?

1

Gestisco un sito che contiene un paio di milioni di foto e riceve oltre 1000 foto caricate ogni giorno. Fino ad ora, non abbiamo mantenuto il file originale che è stato caricato per risparmiare spazio. Tuttavia, stiamo arrivando al punto che stiamo iniziando a vedere la necessità di avere versioni originali ad alta risoluzione. Mi stavo chiedendo se è meglio memorizzarli nel filesystem come un vero file o se è meglio memorizzarli in un database (es: mysql). Le immagini highres vengono raramente referenziate ma possono essere utilizzate quando qualcuno decide di scaricarlo o decidiamo di utilizzarlo per processi rari come la creazione di un nuovo set di dimensioni di miniature / ecc.

    
posta David 27.03.2012 - 17:32
fonte

2 risposte

2

Sì, come tutti hanno notato, memorizzare le immagini di grandi dimensioni in un filesystem (e possibilmente anche in miniature). È possibile eseguire hash o UUID o qualcosa per ottenere una posizione / nome univoco ragionevole, quindi è possibile memorizzare questa posizione (nonché la miniatura corrispondente o altre risoluzioni se necessario) nel database. Quindi il DB fa funzionare la ricerca / corrispondenza / join, e il filesystem fa quello che fa: memorizzare i file.

    
risposta data 26.04.2012 - 07:14
fonte
0

Senza saperlo, la domanda che stai ponendo è strettamente correlata alla gestione dei contenuti. Parte del dominio della gestione dei contenuti sta gestendo gli attributi di quel contenuto: questo è il tuo problema qui.

Memorizza le immagini dove preferisci per i tuoi scopi. Quello che devi fare è sviluppare un modello per definire un'autorità per metadati e varianti delle immagini che produci.

Diciamo che ho le immagini dei prodotti. Ho uno staff di sviluppo dati, uno staff di vendita, uno staff di servizio clienti e uno staff IT.

  • Il mio addetto alle vendite potrebbe voler aggiungere immagini dei prodotti che realizzano quando esaminano il prodotto e lo pubblicano sui forum.
  • Il mio personale sviluppo dati deve essere in grado di trovare immagini da i nostri fornitori, ftp, web e associarli ai prodotti per utilizzare nel nostro sito Web.
  • Il mio servizio clienti deve essere in grado di contrassegnare le immagini come errato, e indicare quando i clienti si lamentano di non immagini essere corretti o rappresentativi di un articolo.
  • Il mio staff IT deve essere in grado di sapere quale immagine è l'alta risoluzione, quale immagine si applica a quale prodotto e deve essere in grado di crea in modo trasparente qualsiasi versione di risoluzione dell'immagine in qualsiasi momento tempo. Poiché i requisiti per le dimensioni delle immagini sul nostro sito Web cambiano tempo il processo di generazione di nuove dimensioni dovrebbe essere il più automatizzato possibile.

La CHIAVE a questo problema è che deve esserci un un database che contiene informazioni su tutte le immagini della tua organizzazione e gli standard che crei per influenzare quelle immagini devono si rifletta nel database che descrive tutte le tue immagini.

Quando arriva il momento che hai troppe immagini (terabyte) e vuoi archiviare immagini più vecchie di 6 anni il tuo database ti consente di sapere quali immagini e tutte le varianti di quelle immagini che devono essere archiviate. Puoi aggiornare il database per indicare quelle immagini che sono state archiviate (e dove) in modo che l'immagine possa essere ripristinata di nuovo se è veramente necessario.

    
risposta data 31.03.2012 - 11:42
fonte

Leggi altre domande sui tag