Espero que alguien pueda explicar cómo usar BLOB. Veo que los BLOB se pueden usar para almacenar archivos de video. Mi pregunta es: ¿por qué una persona almacena un archivo de video en un BLOB en una base de datos SQL? ¿Cuáles son las ventajas y desventajas en comparación con el almacenamiento de punteros a la ubicación del archivo de video?BLOB en SQL que almacena un archivo de video
Respuesta
Algunas razones diferentes.
Si almacena un puntero a un archivo en el disco (presumiblemente utilizando el tipo de datos BFILE
), debe asegurarse de que su base de datos se actualice siempre que los archivos se muevan, renombren o eliminen en el disco. Es relativamente común cuando almacena datos como este que con el tiempo su base de datos no se sincroniza con el sistema de archivos y termina con enlaces rotos y contenido huérfano.
Si almacena un puntero a un archivo en el disco, no puede usar la semántica transaccional cuando se trata de multimedia. Como no puede hacer algo así como emitir una reversión contra un sistema de archivos, tiene que lidiar con el hecho de que va a haber situaciones en las que los datos en el sistema de archivos no coinciden con los datos en la base de datos (es decir, alguien subió un video al sistema de archivos pero la transacción que creó el autor y el título en la base de datos falló o viceversa) o tiene que agregar pasos adicionales para cargar el archivo para simular la semántica transaccional (es decir, cargar un segundo <> _done.txt archivo que solo contiene el número de bytes en el archivo real que se cargó. Eso es engorroso y propenso a errores y puede crear problemas de usabilidad.
Para muchas aplicaciones, tener la base de datos sirve datos es la forma más fácil de proporcionarlo un usuario. Si desea evitar dar a un usuario una URL FTP directa a sus archivos, ya que podrían usar eso para eludir algunas aplicaciones. seguridad a nivel de cationes, la opción más fácil es tener una aplicación respaldada por una base de datos donde recuperar los datos, la base de datos los lee del sistema de archivos y luego los regresa al nivel intermedio que luego envía los datos al cliente. Si va a tener que leer los datos en la base de datos cada vez que se recuperan los datos, a menudo tiene más sentido almacenar los datos directamente en la base de datos y dejar que la base de datos los lea de sus archivos de datos cuando el usuario lo solicite. para ello.
Finalmente, las bases de datos como Oracle proporcionan utilidades adicionales para trabajar con datos multimedia en la base de datos. Oracle interMedia, por ejemplo, proporciona un amplio conjunto de objetos para interactuar con datos de video almacenados en la base de datos; puede etiquetar fácilmente dónde comienzan o terminan las escenas, etiqueta donde se discuten los temas, cuándo se grabó el video, quién lo grabó, etc. . Y puede integrar esa funcionalidad de búsqueda con búsquedas en contra de todos sus datos relacionales. Por supuesto, podrías escribir una aplicación encima de la base de datos que también hiciera todo eso, pero luego escribirías una gran cantidad de código o usarías otro framework en tu aplicación. A menudo es mucho más fácil aprovechar la funcionalidad de la base de datos.
Tome una lectura de esta: http://www.oracle.com/us/products/database/options/spatial/039950.pdf (obviamente una visión parcial, pero tiene algunos inconvenientes (que ahora han sido fijados por el advenimiento de 11g)
- 1. Cómo declarar un blob en SQL Server
- 2. Smooth Streaming Video from Blob Storage
- 3. inserta un BLOB mediante un script sql?
- 4. Reproducción de un archivo de video desde un blob de servidor sql a través de ashx handler usando HTML5 Video Tag
- 5. ¿Cómo edito BLOB (que contiene JSON) en Oracle SQL Developer?
- 6. Insertar archivo en mysql Blob
- 7. Php: Convertir un blob en un archivo de imagen
- 8. BLOB to String, SQL Server
- 9. Guardar archivo binario en blob de httppostedfile
- 10. Cómo actualizar un BLOB en SQL SERVER usando TSQL
- 11. Exportación de Blob desde la base de datos MySQL a un archivo con solo SQL
- 12. almacena cada clase en un archivo por separado de python
- 13. ¿Cuánta información se almacena realmente en un descriptor de archivo?
- 14. Ver los datos BLOB que contienen texto en formato XML
- 15. ¿Puedo descomprimir un archivo en almacenamiento Azure Blob?
- 16. mostrando una imagen almacenada en un blob mysql
- 17. ¿Cómo puedo identificar un tipo de archivo de un blob/filestream?
- 18. # estructura de datos que almacena C en una base de datos SQL
- 19. Cómo obtengo contenido textual de BLOB en Oracle SQL
- 20. Intentando leer un blob
- 21. ¿Cómo uso BCP o Sql Server Management Studio para obtener datos BLOB de SQL Server?
- 22. Copiar valores BLOB entre bases de datos con SQL puro en SQL Server
- 23. ¿Cómo selecciono parte de un campo BLOB en Oracle?
- 24. Devolución de un blob con json
- 25. ¿Qué es un blob?
- 26. ¿Las diferentes versiones de un archivo tienen su propio blob/sha?
- 27. convertir imagen de blob a archivo en php
- 28. ¿Cómo reproducir un archivo de video en Android?
- 29. tamaño de un campo blob en Firebird
- 30. ¿Cómo puedo validar un archivo de video desde un script?