Да, можете да използвате BLOB за двоични данни в Oracle. (И много други бази данни.) Ние ги използваме тук, за да съхраняваме PDF файлове.
Виждал съм го направено или по двата начина. Съхранявайте изображенията в базата данни или съхранявайте изображенията във файловата система и след това запишете името на файла в базата данни.
Предимства на съхраняването в база данни
Всичко е точно там в базата данни. Изваждате запис, свързаното изображение е точно там с него.
Получавате цялост на данните между файла и свързаните с него данни (разбира се, предполага добър дизайн на схема.)
Една логическа операция за получаване на данни и изображение.
Смятам, че е по-трудно и по-скъпо да мащабирам база данни, за да съдържа много двоични данни, отколкото алтернативата на файловата система.
Недостатъци при съхраняването в база данни
Не всички инструменти ще улеснят преглеждането на изображенията.
Няма лесен достъп до изображенията от мрежата.
В зависимост от размера и количеството на файла, можете да се окажете с много необработени данни в някои от вашите таблици.
Зареждането и съхраняването на blob данни не винаги е лесно. (Наскоро написах персонализиран тип данни за Hibernate, например, за да се справя с нашите PDF файлове с петна.)
Предимства на файловата система
Вероятно по-ефективен за четене и писане на файлове.
Ако искате да сервирате изображението в мрежата, можете да го направите направо от файловата система.
По-лесно разглеждане на изображения по време на отстраняване на грешки и много безплатни инструменти за това.
Вярвам, че е по-лесно да мащабирате приложение, когато поставяте петна във файловата система.
Недостатъци на файловата система
Проблеми с целостта/последователността на данните. Променете нещо във файловата структура и ще трябва да направите още една стъпка в базата данни.
Друго нещо е да архивирате.
Множество логически операции (четене от база данни, четене от файлова система) за получаване на изображение и данни.