[Moscow.pm] Самый крупный проект, где используется ORM
Ivan Petrov
i.petro.77.00 на gmail.com
Пт Мар 30 06:55:52 PDT 2012
>> А вот часто некоторые "знатоки" в качестве одного из аргументов против ORM
>> ссылаются на то, что ORM якобы не применим в крупных проектах.
> Крупный проект != высоконагруженный проект.
> ORM слабо применим в высоконагруженных проектах ИМХО. Размер же
> проекта как таковой особого значения не имеет.
полностью согласен.
когда проект развивается и пока ничего не экономим запросы к ORM
выглядят однообразно и красиво. то есть один запрос на все случаи
жизни вроде
resultset('abc')->search({ cde => 'def') })->all
потом когда начинается экономия нагрузки, то начинается добавление
записей
prefetch
затем начинается экономия трафика и добавляются выборки columns.
затем местами еще указан тип join'а и размер выборки.
и далее когда мы смотрим на это все, то получается что запросы к ORM
мало чем отличаются от запросов к БД. то есть просто иерархия.
ну а когда речь идет об оптимизации самих запросов, то в итоге ORM
выкидывается нафиг и запросы пишутся вручную (либо для ORM куча VIEW
пишется).
в итоге в HL-проекте получается что ORM используется только для
блессинга выборок в объекты. при том что зачастую поверх этих
выбранных объектов еще OOП инфраструктура наворачивается.
В итоге мы пришли к тому что хелпер генерации SQL-запросов
(темплейтный язык + именованные плейсхолдеры и помощники) + блесс
выборок в итераторы - самый оптимум для HL
Подробная информация о списке рассылки Moscow-pm