metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2007-12-14 06:30 pm

В комментариях безумцы!

[...]

Человек спрашивает, как правильно раздавать с СУБД связанные с ней внешние файлы (есть такой метод - вместо блобов держать файлы рядом на сервере, а в базу писать путь к ним). Речь идет об Interbase и приложении на дельфи.
Чего там только не насоветовали:

1) Купить 1С:Архив
2) Изучать CMS
3) Хранить базу в LDAP и файлы тоже в LDAP
4) Отдавать документы по HTTP с помощью mod_rewrite

Единственный более-менее имеющий отношение к делу комментарий - первый - хранить файлы в блобах. Все остальное - боб с горохом, ад, израиль, ханука и дивизия СС на via dolorosa.

К вопросу о том, что всякое ИТ настолько безумная область, что до сих пор на каждую задачу можно найти 100 способов решения, из которых 90 будут неприменимы для данного конкретного случая, а оставшиеся 10 настолько дорогими и безумными, что проще придумать 101 способ, чем осознать существующие.

[identity profile] samurai-within.livejournal.com 2007-12-14 07:45 pm (UTC)(link)
/me как-то слабо верит в адекватность работы базенки с гигами блобов. Все конечно от задачи зависит.. но скорость имхо будет падать сииильно.

[identity profile] metaclass.livejournal.com 2007-12-14 08:53 pm (UTC)(link)
Interbase вроде внутри хранит для каждой таблицы дерево страниц, на которых она лежит. А блобы лежат или внутри записей, если помещаются на страницу или на отдельных страницах, а из записей на них ведут указатели. И все это с транзакциями, версионностью, сборкой мусора и прочей добротой.
Просто работа с базой(фильтрация записей, итд) замедлится не сильно, сервер все равно будет читать только нужные страницы, а вот работа с блобами вместо файлов - прилично, ибо возникнет промежуточный слой между файловой системой и клиентом, фактически реализующий те же функции файловой системы, только внутри файла базы.

[identity profile] az-from-belarus.livejournal.com 2007-12-15 07:27 am (UTC)(link)
Добавьте сюда еще и однозначный перекос в сторону тяжелого сервера и концентрации функционала в одной системе. Т.е. о возможности работы с файлами в контекстах разных ситем и приложений можно забыть. Жестко. Иногда - оправдано. Но могут быть и варианты, когда уже есть файловые хранилища сформированные по своей РАБОТАЮЩЕЙ логике и укладка их в централизованные блобы может повлечь большое количество непредвиденного и длительного гемора. Ну и, конечно, ситуация со множеством файловых хранилищ удаленных друг от друга структурных подразделений.