Spero che qualcuno possa spiegare come utilizzare i BLOB. Vedo che i BLOB possono essere utilizzati per archiviare file video. La mia domanda è: perché una persona dovrebbe archiviare un file video in un BLOB in un database SQL? Quali sono i vantaggi e gli svantaggi rispetto alla memorizzazione dei puntatori nella posizione del file video?BLOB in SQL che memorizza un file video
risposta
Alcuni motivi diversi.
Se si memorizza un puntatore su un file su disco (presumibilmente usando il tipo di dati BFILE
), è necessario assicurarsi che il database sia aggiornato ogni volta che i file vengono spostati, rinominati o eliminati su disco. È relativamente comune quando si memorizzano dati come questi che nel tempo il database non è più sincronizzato con il file system e si finisce con collegamenti interrotti e contenuti orfani.
Se si memorizza un puntatore su un file su disco, non è possibile utilizzare la semantica transazionale quando si ha a che fare con i file multimediali. Dal momento che non si può fare qualcosa come rilasciare un rollback contro un file system, si deve fare i conti con il fatto che si avranno situazioni in cui i dati sul file system non corrispondono ai dati nel database (es. qualcuno ha caricato un video sul file system ma la transazione che ha creato l'autore e il titolo nel database non è riuscita o viceversa) oppure devi aggiungere passaggi aggiuntivi al caricamento del file per simulare la semantica transazionale (ad esempio, caricare un secondo <> _done.txt file che contiene solo il numero di byte nel file effettivo che è stato caricato.Questo è ingombrante e soggetto a errori e può creare problemi di usabilità
Per molte applicazioni, avere il database che serve i dati è il modo più semplice per fornirlo un utente .Se si desidera evitare di fornire a un utente un URL FTP diretto per i propri file perché potrebbero utilizzarlo per aggirare alcune appli sicurezza a livello di cationità, l'opzione più semplice è quella di avere un'applicazione supportata da database in cui recuperare i dati, il database la legge dal file system e quindi la restituisce al livello intermedio che quindi invia i dati al client. Se devi leggere i dati nel database ogni volta che i dati vengono recuperati, spesso ha più senso archiviare i dati direttamente nel database e consentire al database di leggerlo dai suoi file di dati quando l'utente chiede per questo.
Infine, database come Oracle forniscono ulteriori utilità per lavorare con i dati multimediali nel database. Oracle interMedia, ad esempio, fornisce un ricco set di oggetti per interagire con i dati video memorizzati nel database: puoi facilmente taggare dove iniziano o terminano le scene, taggare dove vengono discussi vari argomenti, quando il video è stato registrato, chi lo ha registrato, ecc. E puoi integrare questa funzionalità di ricerca con le ricerche su tutti i tuoi dati relazionali. Ovviamente, potresti scrivere un'applicazione in cima al database che ha fatto tutte queste cose, ma poi stai scrivendo un sacco di codice o usando un altro framework nella tua app. Spesso è molto più semplice sfruttare la funzionalità del database.
Prendete una lettura di questo: http://www.oracle.com/us/products/database/options/spatial/039950.pdf (ovviamente una visione di parte, ma ha alcuni svantaggi (che ora sono stati risolti con l'avvento di 11g)
- 1. Memorizza il testo in BLOB?
- 2. Come creare un blob di un file video
- 3. Come dichiarare un BLOB in SQL Server
- 4. Cos'è il blob in <video src = blob: url>?
- 5. inserisci un BLOB tramite uno script sql?
- 6. Memorizza, converti in video un flusso Schermo Android
- 7. Visualizzazione di un video da un Blob Javascript
- 8. In che modo SQL Server memorizza una chiave primaria composita?
- 9. Converti blob in file
- 10. Riproduzione di un file video da un blob del server SQL tramite il gestore ashx utilizzando il tag HTML5
- 11. memorizza TEXT/BLOB nella stessa tabella o no?
- 12. In che modo esattamente subversion memorizza i file nel repository?
- 13. Inserisci file in mysql Blob
- 14. In che modo Spark on Yarn memorizza i file mescolati?
- 15. Che cos'è un blob URL e perché viene utilizzato?
- 16. Come aggiornare un BLOB in SQL SERVER utilizzando TSQL
- 17. Visualizza dati BLOB che contengono testo in formato XML
- 18. Differenze tra BLOB BLOB BLOB BLOB e BLOB della pagina?
- 19. Memorizza un modello jsRender in un file js separato
- 20. In che modo il blob: protocollo funziona come origine <video>?
- 21. In che modo MySQL memorizza gli indici?
- 22. Memorizza proprietà personalizzate in aplicationContext.xml Spring file
- 23. Salva file binario in BLOB da httppostedfile
- 24. memorizza ogni classe in un file separato python
- 25. Java che memorizza due interi in un lungo
- 26. SSIS Connection Manager non memorizza password SQL
- 27. FFmpeg Come scrivere video in un file
- 28. Stream video da BLOB BLU sicuro a WPF
- 29. Come utilizzare BCP o Sql Server Management Studio per estrarre i dati BLOB dal server Sql?
- 30. MySQL - Base64 vs BLOB