Аз лично препоръчвам да съхранявате изображения в базата данни. Разбира се, това има както предимства, така и недостатъци.
Предимства на съхраняването на BLOB данни в базата данни:
- По-лесно е да поддържате BLOB данните синхронизирани с останалите елементи в реда.
- Данните BLOB се архивират с базата данни. Наличието на единна система за съхранение може да улесни администрирането.
- BLOB данни могат да бъдат достъпни чрез XML поддръжка в MySQL, която може да върне базово 64-кодирано представяне на данните в XML потока.
- Операциите на MySQL Full Text Search (FTS) могат да се извършват срещу колони, които съдържат данни с фиксирана или променлива дължина (включително Unicode). Можете също така да извършвате FTS операции срещу форматирани текстови данни, съдържащи се в полета на изображения – например документи на Microsoft Word или Microsoft Excel.
Недостатъци на съхраняването на BLOB данни в базата данни:
Внимателно помислете какви ресурси може да се съхраняват по-добре във файловата система, а не в база данни. Добри примери са изображения, които обикновено се препращат чрез HTTP HREF. Това е така, защото:
- Извличането на изображение от база данни води до значителни разходи в сравнение с използването на файловата система.
- Дисково съхранение в SAN бази данни обикновено е по-скъпо от съхранението на дискове, използвани във ферми на уеб сървъри.