Що се отнася до PostgreSQL ако сте загрижени, въведете text
е изключено. Той е по-бавен, използва повече място и е по-податлив на грешки от bytea
за целта.
Има основно 3 подхода:
-
Използвайте тип
bytea
(основно pg еквивалент на типа SQL blob). -
Използвайте „големи обекти ".
-
Съхранявайте блобове като файлове във файловата система и съхранявайте само името на файла в базата данни.
Всеки има своите предимства и недостатъци.
1. е доста лесен за работа, но се нуждае от най-много дисково пространство. Изисква се известно декодиране и кодиране, което го прави също бавен. Резервните копия нарастват бързо!
2. е леко неудобно за боравене, но имате своя собствена инфраструктура за манипулиране на петна - ако трябва да имате нужда от това. И можете по-лесно да правите отделни резервни копия.
3. е най-бързият начин и използва най-малко дисково пространство. Но не осигурява референтната цялост, която получавате, когато съхранявате в базата данни.
Имам редица реализации като тази за файлове с изображения:съхранявайте малка миниатюра в байтово поле за референтна цялост и бърза справка. Съхранявайте оригиналното изображение като файл във файловата система. Разбира се, трябва да помислите кога и как да изтриете остарели файлове, как да архивирате външните файлове и други подобни.