Domanda

E 'una buona idea per memorizzare i file video in un database come oggetti BLOB o memorizzarli su un disco fisico.

Questo è per un sito simile a YouTube, dove gli utenti possono caricare i propri video e visualizzarli

Database Mysql sarebbe

Quale opzione è migliore e perchè

Grazie

È stato utile?

Soluzione

Pro MySQL: - La BLOB può essere soggetto a chiavi esterne e mantenendo così la ridondanza del database invece di salvare il file system. In questo caso è necessario programmare la cancellazione del file. -. A grana fine permessi utente

Con: - MySQL non viene eseguito gratuitamente, è dotato di testa in contrasto con il servizio dal filesystem. - server web non può servire direttamente BLOB dal database. Questo significa PHP dovrà mediare il processo. Quando il BLOB viene caricato da MySQL in PHP, l'utilizzo della memoria sarà atleast grande come il BLOB. Quindi nel tuo caso in cui i file possono essere in esecuzione nelle centinaia di MB di questo avrebbe messo a dura prova sul server web.

In tutte le realtà MySQL non è mento da utilizzare per salvare i file. BLOB vengono per lo più utilizzati per salvare ammounts lare di dati serializzati come cache.

Altri suggerimenti

sto usando NFS per memorizzare contenuti multimediali da circa 5 anni senza problemi sulla prospettiva di stoccaggio. Manipolazione, la codifica e il risparmio sono gestiti tramite ffmpeg, script PHP e cron jobs. metadati video vengono memorizzati in un database MySql e la consegna web è fornito tramite Nginx (tramite una sola lettura NFS). I file video di dimensioni fino a 2 GB in questo ambiente. Probabilmente posso andare più veloce su un altro motore di db ma, il vero spreco di tempo è dovuto al processo di codifica e non per il salvataggio dei file.

Quando sto risparmiando migliaia di piccole immagini (come avatar) che io abbia mai usare MySQL solo per memorizzare i file di metadati (percorso di immagini e altre proprietà) e non per salvare il file in un campo BLOB che può rallentare il db troppo su query pesanti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top