В письме от суббота, 2 апреля 2016 г. 5:16:45 NOVT пользователь tepkuh
написал:
> Ну апликейшен, теоритически подпиливаемый. Только зачем? Хранение файлов в
> БД это норм паттерн. Тем более подпилить конфиг намного дешевле, чем править
> код аппса. Задача ведь стоит выгружать и кэшировать nginx, а не подпилить
> аппс ;)
Дело в том, что это *НЕ* "норм" паттерн. Это извращение из стиля "а давайте".
И такие подходы характерны для legacy кода, который писался когда-то давно
какими-то долбанутыми на голову извращенцами для того, чтобы вытащить побольше
денег из инвесторов на закупку оборудования с откатами, а вам сейчас нужно его
поддерживать в экстренных условиях, т.к. они слились. А для разрабатываемого
прямо сейчас приложения — это дикость, и я, как CEO IT-компании уволил бы
софт-архитектора если бы он ко мне пришёл с такой идеей.
Более того, MySQL (особенно в чистом виде, без энтерпрайз-плюшек) в качестве
базы данных даже для такого неудачного решения для хранения файлов — самое
неудачное решение из возможных.
Касательно стоящей задачи — да, поставили задачу изъе^2Wвернуться загогулиной
админу вместо того, чтобы правильно (тщательно оценивая каждое решение каждой
детали), без особо модных "паттернов", продумывать архитектуру приложения.
Да, то, что вы хотите сделать можно. Присев на правой ноге, засунув левую за
правое ухо и завязав руки бантиком за спиной. Можно. Но это просто неописуемое
извращение.
P.S. как вы думаете, почему файловые системы называются файловыми? А ещё, как
вы думаете, зачем они используют кеш в оперативной памяти для часто
используемых файлов?
P.P.S. А ещё, как вы думаете, почему люди частенько предпочитают, например,
redis этим вашим mysql?(подсказка: потому что он делает именно свою работу:
хранит данные (и зачастую вида ключ=значение более чем достаточно) и более-
менее адекватно использует кеш в памяти, самостоятельно ускоряя доступ к
данным)
====
В общем, идея хранить *файлы* в базе (которая к тому же не умеет в нормальное
кеширование в памяти), а потом вытаскивать их на *файловую* систему для
кеширования ущербна в самой своей сути.
Но, тем не менее, я вижу как минимум три пути решения этой задачи "костылями"
(не переписывая приложение для работы как оно должно это делать "по-
правильному"). Но т.к. все эти способы подразумевают очень большое количество
БДСМ с изучением архитектуры приложения (для подпорки в правильных местах), а
у меня не так много свободного времени, то чего-то более конкретного, чем уже
озвучено выше и ниже (в виде общих идей по направлениям реализации), не вникая
в архитектуру, я сказать не могу. А вникать в подобные архитектуры без
материальной заинтересованности — извините, не моё.
И вам не советую брать за подобные извращения менее чем 50€/час (и выше, в
зависимости от региона проживания, региона расположения фирмы и величины
проекта).
--
wbr,
mva_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru