Jeg anbefaler personligt at gemme billeder i databasen. Selvfølgelig er det både fordele og ulemper.
Fordele ved at gemme BLOB-data i databasen:
- Det er nemmere at holde BLOB-dataene synkroniseret med de resterende elementer i rækken.
- BLOB-data er sikkerhedskopieret med databasen. At have et enkelt lagersystem kan lette administrationen.
- BLOB-data kan tilgås via XML-understøttelse i MySQL, som kan returnere en base 64-kodet repræsentation af dataene i XML-strømmen.
- MySQL Full Text Search-operationer (FTS) kan udføres mod kolonner, der indeholder data med fast eller variabel længde (inklusive Unicode). Du kan også udføre FTS-handlinger mod formaterede tekstbaserede data indeholdt i billedfelter - for eksempel Microsoft Word- eller Microsoft Excel-dokumenter.
Ulemper ved at gemme BLOB-data i databasen:
Overvej omhyggeligt, hvilke ressourcer der bedst kan gemmes på filsystemet i stedet for i en database. Gode eksempler er billeder, der typisk refereres via HTTP HREF. Dette er fordi:
- Hentning af et billede fra en database medfører betydelige omkostninger sammenlignet med brug af filsystemet.
- Disklagring på database-SAN'er er typisk dyrere end lagring på diske, der bruges i webserverfarme.