Ano, můžete použít objekty BLOB pro binární data v Oracle. (A mnoho dalších databází.) Používáme je zde k ukládání souborů PDF.
Viděl jsem to udělat buď / oběma způsoby. Uložte obrázky do databáze nebo uložte obrázky do systému souborů a poté uložte název souboru do databáze.
Výhody ukládání do databáze
V databázi je vše v pořádku. Vytáhnete záznam a příslušný obrázek je přímo u něj.
Získáte integritu dat mezi souborem a jeho přidruženými daty (samozřejmě za předpokladu dobrého návrhu schématu.)
Jedna logická operace pro získání dat a obrazu.
Připadá mi těžší a dražší škálovat databázi tak, aby obsahovala hodně binárních dat, než alternativa systému souborů.
Nevýhody ukládání do databáze
Ne všechny nástroje usnadní procházení obrázků.
Nelze snadno přistupovat k obrázkům z webu.
V závislosti na velikosti a množství souboru můžete v některých tabulkách skončit se spoustou nezpracovaných dat.
Načítání a ukládání dat objektů blob není vždy přímočaré. (Nedávno jsem napsal vlastní datový typ pro Hibernate, například pro práci s našimi blobovanými PDF.)
Výhody systému souborů
Pravděpodobně efektivnější pro čtení a zápis souborů.
Pokud chcete obrázek zobrazit na webu, můžete to udělat přímo ze systému souborů.
Snazší procházení obrázků během ladění a spousta bezplatných nástrojů k tomu.
Věřím, že při vkládání objektů BLOB do systému souborů bude jednodušší škálovat aplikaci.
Nevýhody systému souborů
Problémy s integritou/konzistencí dat. Změňte něco ve struktuře souborů a máte další krok v databázi.
Další věc je zálohování.
Více logických operací (čtení z databáze, čtení ze systému souborů) pro získání obrazu a dat.