Výhody ukládání obrázků/blobů do databáze
- Ukládání obrázků je automaticky součástí vašich transakcí
- Není třeba čistit systém souborů a synchronizovat jej s databází
- Přístup k obrázkům je řízen stejnými prostředky jako přístup ke zbytku dat
- Pouze jedna záloha, o kterou se můžete starat
- Databáze je obvykle vhodnější pro uložený milion (ne-li miliardy) záznamů. V souborovém systému musíte najít chytrou distribuci do několika adresářů. Jediný adresář nebude schopen efektivně zpracovat miliony souborů.
- U některých úloh může být ukládání obrázků do databáze ve skutečnosti rychlejší.
Pro SQL Server Microsoft skutečně testoval toto:
http://research.microsoft.com/apps/pubs/default.aspx?id=64525
Nepřekvapilo by mě, kdyby se ostatní databáze chovaly podobně.
Nevýhody:
- Vaše databáze a tím i zálohy jsou mnohem větší (vzpomeňte si na čas, který zabere její obnovení).
- Souborové systémy jsou obvykle lepší s přírůstkovým zálohováním (pokud nemáte Oracle RMAN)
- k obrázkům nemají přístup jiné aplikace (např. webový server, nástroje pro změnu velikosti obrázků, server FTP)
- Obrázky nelze šířit v distribuční síti obsahu za účelem vyrovnávání zátěže ve webové aplikaci (snížení zátěže aplikačního serveru)
- Obvyklý názor je, že načítání z databáze bude pomalejší.
- u některých databází může načítání objektů blob ve skutečnosti snížit efektivitu mezipaměti databáze (ne tak pro Oracle, SQL Server a PostgreSQL. U MySQL však nevím)