Benchmark způsobů ukládání souborů do PostgreSQL

Před nějakou dobou prezentoval článek věnovaný různým způsobům ukládání souborů do PostgreSQL databáze, v jehož závěru jsem sliboval benchmark popisovaných variant ukládání. Sice to chvíli trvalo, ale benchmark je tu ...

Ukládání souborů do PostgreSQL databáze

Tento článek navazuje na rozbor důvodů proč ukládat soubory do databáze a nikoliv do souborového systému, a popisuje několik způsobů jak toto dělat v PostgreSQL. Existují BLOBy, BYTEA sloupce, vlastní řešení, a všechny mají výhody / nevýhody, tak se na ně podívejme.

Proč ukládat soubory do databáze

Představte si že pracujete na webové aplikaci která vyžaduje ukládání souborů (např. na fotogalerii). A tady přichází otázka "Mám soubory ukládat v databázi nebo přímo ve filesystému?"  Možná jste tuto otázku položili v nějakém diskusním fóru / mailing listu, a předpokládám že odpověď kterou jste dostali byla zhruba "Je daleko efektivnější ukládat soubory mimo databázi." Dobře, pokusím se vysvětlit proč dávám přednost ukládání souborů v databázi. Tento článek je založen na diskusi kterou jsem vedl s Jamesem Lewisem poté co jsem do mailing listu pg-php poslal obdobný dotaz.

1