[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