Pokud jde o PostgreSQL pokud se to týká, zadejte text
nepřichází v úvahu. Je pomalejší, zabírá více místa a je náchylnější k chybám než bytea
za tímto účelem.
V zásadě existují 3 přístupy:
-
Použijte typ
bytea
(v podstatě ekvivalent pg typu blob SQL). -
Použijte „velké objekty ".
." -
Ukládejte objekty BLOB jako soubory v systému souborů a uložit pouze název souboru do databáze.
Každý má své výhody a nevýhody.
1. manipulace je poměrně jednoduchá, ale vyžaduje nejvíce místa na disku. Je vyžadováno určité dekódování a kódování, takže je také pomalé. Velikost záloh rychle narůstá!
2. manipulace je trochu nešikovná, ale máte vlastní infrastrukturu pro manipulaci s bloby - pokud byste to potřebovali. A můžete snadněji vytvářet samostatné zálohy.
3. je zdaleka nejrychlejší způsob a využívá nejméně místa na disku. Neposkytuje však referenční integritu, kterou získáte při ukládání do databáze.
Mám řadu implementací, jako je tato pro soubory obrázků:uložte malou miniaturu v bajtovém poli pro referenční integritu a rychlou referenci. Uložte původní obraz jako soubor v systému souborů. Samozřejmě se musíte zamyslet nad tím, kdy a jak odstranit zastaralé soubory, jak zálohovat externí soubory a podobně.