172 похожих чатов

И ещё вопрос к сообществу - как лучше хранить документы

в базе? Или как организовать хранение на файловом сервере, если в базе лучше не хранить. Какие best practices в этом вопросе? У нас с коллегами не утихает спор - я топлю за oid т е LOB, они за bytea. Примерно 8к файлов общим размером 40гб, всякие документы и архивы, бывают по 12мб, работа с ними не частая, но бывает нужно поднять доки. Плюс хотим антивирусом проверять. Есть ли опыт файлового хранения в базе?

9 ответов

27 просмотров

В S3 или Minio. В базе - ключи

https://t.me/pgsql/291633 ;)

Если нет файлов больше 1ГБ, то не надо пользоваться LOB. Ибо обслуживание - отдельная песТня про никуда не упёршееся рукоблудство и скриптоложество. Плюс игрища с кроном/системд-таймером

можно файлы хранить в БД, если вы понимаете зачем вам это нужно ) вот авторитетное мнение Брюса Момжана на эту тему: https://momjian.us/main/blogs/pgblog/2017.html#November_6_2017 но БД будет пухнуть, ее обслуживание, резервное копирование и др. будет все затруднительней — нужно это учитывать. Были доклады, где люди рассказывали, как они избавлялись от документов в PG и возвращали их на ФС ) Те это зависит от того, что вам важно

Maxim-Sherstuk Автор вопроса
Yaroslav Schekin
https://t.me/pgsql/291633 ;)

Читал, ещё раз перечитал. Плюсы и минусы понятны, но что лучше всего - не ясно. И как стримить oid не встречал примеров. Я топлю за oid, коллеги за bytea из-за простоты, может согласиться?

Maxim-Sherstuk Автор вопроса
Maxim Sherstuk
Читал, ещё раз перечитал. Плюсы и минусы понятны, ...

Хмм... а в чём затруднение-то? Вроде бы, всё подробно расписано — сопоставьте со своей ситуацией, и всё... нет?

Maxim-Sherstuk Автор вопроса
Yaroslav Schekin
Хмм... а в чём затруднение-то? Вроде бы, всё подро...

Сопоставляю - мне кажется, что в моём случае без разницы, хотел узнать мнение сообщества, для статистики, кто что использует

Maxim Sherstuk
Сопоставляю - мне кажется, что в моём случае без р...

Да при чём тут "статистика"?! Если действительно нужно ACID для этих документов — забудьте об этой "файловой" муре (хранении в FS). Если не нужно (готовы к тому, что есть шанс потерять какие-то, по запросу вернуть не те, и к рассинхронизации в случае проблем с базой или FS), да и "железа" маловато — забудьте об этой ерунде с хранением в базе. ;) А уж если решили хранить в базе, то, на первый взгляд, файлы небольшие, произвольного доступа к "кусочкам" не нужно — подходит bytea, нет?

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта