Estoy creando una aplicación basada en una sola tabla con una columna con texto. Ocasionalmente, una columna adyacente tendrá una imagen. ¿Es mejor almacenar esta imagen como un BLOB en SQLITE o debería almacenarlos en el sistema de archivos y hacer referencia a ellos desde mis programas? Gracias!SQLITE Blob O sistema de archivos para imágenes
Respuesta
EDIT:
dimos cuenta de que significaba para el medio ambiente específicamente iPhone. En ese caso, usaría DB solo por la simplicidad de tener todo el contenido en un solo lugar. No tendrá que preocuparse por la escalabilidad porque no es como si su iPhone se utilizara como servidor o algo así.
Respuesta Original:
no tengo ningún enlace a apoyar esto, pero yo no recuerdo haber leído en varios estudios que el "cortado" es de 1 MB para la eficiencia blob. Pero esto puede moverse hasta 10 MB con una matriz de discos lo suficientemente rápida. Totalmente depende del sistema
Básicamente, dado su límite de eficiencia, cualquier dato menor que eso sería mejor atendido por la base de datos, cualquier cosa más grande, solo indexe la base de datos y déjela en una memoria caché de archivos.
Está usando el iphone, por lo que el disco no es actualizable. – Kevlar
ahh, no vi esa parte. –
Realmente depende de su aplicación. Tener las imágenes almacenadas en una base de datos le facilitará la vida ya que las tiene fácilmente accesibles en un solo punto en lugar de tenerlas en archivos separados que podrían haber desaparecido. Por otro lado, muchas imágenes, que son bastante grandes, podrían ser demasiado para una base de datos SQLITE. En su situación, simplemente los referenciaría en la base de datos.
Los archivos le causarán menos problemas a largo plazo. Realmente no desea servir toneladas de archivos de su servidor de base de datos especialmente cuando escala
Los archivos facilitarán la carga de las imágenes de manera eficiente. Si usas [UIImage imageNamed: @ "blah.png"], cargará la imagen en la RAM purgable y la cargará/descargará del archivo según sea necesario (es decir, cuando ya no se pueda ver y tengas poca memoria, se purgará y luego vuelto a cargar cuando se puede ver de nuevo) – Gabe
Vaya ... ¿entonces la API está acoplada al sistema de archivos y no a un tipo abstracto? ... –
Me gusta mantener las imágenes en el sistema de archivos porque UIImage puede almacenar en caché los archivos de imagen &, volcarlos de la memoria automáticamente cuando sea necesario. Solo tenga cuidado de no cambiar o eliminar un archivo de imagen que se carga en un UIImage o se bloqueará u otros errores extraños.
Suponiendo que las imágenes que va a utilizar no son extremadamente grandes y que no hay un número exorbitante de ellas, me gustaría ir con la base de datos.
Actualmente estoy usando una base de datos Sqlite en varios dispositivos Windows Mobile y WinCE con más de 10,000 imágenes pequeñas almacenadas como blobs y está funcionando muy bien.
He visto un software similar al nuestro ejecutándose en el mismo hardware utilizando la carga de imágenes basada en archivos y fue significativamente más lento. Por supuesto, esto fue en WinCE y software diferente, por lo que esa no es la mejor prueba.
Encuentro que la base de datos individual es mucho más fácil de trabajar que muchos archivos de imagen.
- 1. Almacenar una pequeña cantidad de imágenes: blob o fs?
- 2. Almacenamiento de imágenes: Sistema de base de datos o archivos -
- 3. Problema al crear un Drawable desde una Blob de SQLite
- 4. Guardar imágenes: ¿archivos o blobs?
- 5. Almacenamiento de imágenes en la base de datos o en el sistema de archivos
- 6. Django Campo binario o modelo BLOB
- 7. Escribiendo blob de SQLite a archivo usando Python
- 8. Cargando ImageIcon de JAR o sistema de archivos
- 9. Imágenes o archivos en GNU Smalltalk?
- 10. Sqlite en un sistema integrado
- 11. ¿Cómo actualizar por partes un blob en SQLite?
- 12. Google Datastore - Blob o texto
- 13. ¿Cómo puedo almacenar y recuperar un blob de sqlite
- 14. Sistema de archivos distribuido para .NET
- 15. Descarga de archivos Azure Blob en MVC3
- 16. insertando blob en sqlite desde el navegador safari usando html5
- 17. Adjuntar para impulsar :: sistema de archivos :: ruta
- 18. sqlite o mysql para grandes conjuntos de datos
- 19. Sistema de archivos en memoria para Windows
- 20. ¿Encriptación del sistema de archivos para iOS?
- 21. Almacenar grandes cantidades de datos: ¿DB o sistema de archivos?
- 22. Sistema de archivos TreeView
- 23. Sistema de archivos incrustado de código abierto (o sistema de archivos virtual de un solo archivo, o almacenamiento estructurado) para C
- 24. ORMLite e imágenes guardadas como BLOB en Android
- 25. ¿Debo usar blob o texto para JSON en MySQL?
- 26. Java o C para procesamiento de imágenes
- 27. Android Guarde las imágenes en SQLite o SDCard o en la memoria
- 28. ¿Cómo insertar archivos BLOB y CLOB en MySQL?
- 29. postgresql ¿uso bytea blob o la ubicación del archivo para almacenar el objeto serializado?
- 30. simple Sistema de archivos
Solo por aclaración: esto es para una aplicación de iPhone, ¿correcto? – AnonJr