Sì, puoi utilizzare i BLOB per i dati binari in Oracle. (E molti altri database.) Li usiamo qui per archiviare file PDF.
L'ho visto fare in entrambi i modi. Archivia le immagini nel database o archivia le immagini nel file system e quindi salva il nome del file nel database.
Vantaggi dell'archiviazione nel database
È tutto a posto nel database. Estrai un record, l'immagine associata è proprio lì con esso.
Ottieni l'integrità dei dati tra il file e i dati associati (presuppone una buona progettazione dello schema, ovviamente.)
Un'operazione logica per ottenere dati e immagini.
Trovo più difficile e costoso ridimensionare un database per contenere molti dati binari rispetto all'alternativa al file system.
Svantaggi dell'archiviazione nel database
Non tutti gli strumenti semplificheranno la navigazione delle immagini.
Non è possibile accedere facilmente alle immagini dal Web.
A seconda della dimensione e della quantità del file, potresti ritrovarti con molti dati grezzi in alcune delle tue tabelle.
Il caricamento e l'archiviazione dei dati BLOB non è sempre semplice. (Recentemente ho scritto un tipo di dati personalizzato per Hibernate, ad esempio, per gestire i nostri PDF in blob.)
Vantaggi del file system
Probabilmente più efficiente per leggere e scrivere i file.
Se desideri pubblicare l'immagine sul Web, puoi farlo direttamente dal file system.
È più facile sfogliare le immagini durante il debug e molti strumenti gratuiti per farlo.
Ritengo sia più semplice ridimensionare un'applicazione quando si inseriscono BLOB nel file system.
Svantaggi del file system
Problemi di integrità/coerenza dei dati. Cambia qualcosa sulla struttura del file e hai un altro passaggio da fare nel database.
È un'altra cosa di cui eseguire il backup.
Molteplici operazioni logiche (lettura da database, lettura da file system) per ottenere immagini e dati.