![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
MyDarkSide |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 21.3.2008 Репутация: -1 Всего: -1 |
да ORM доставляет проблем,
количество запросов увеличивается на порядок а SQL есть SQL, он и разрабатывался как язык для работы со множествами |
|||
|
||||
LeoK |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2007 Где: Moscow Репутация: нет Всего: нет |
мне всетаки кажется, что создавать подобную "смесь" не стоит... предпочитаю работать напрямую с бд зы но конечно через минимальную прослойку Это сообщение отредактировал(а) LeoK - 2.11.2009, 17:21 |
|||
|
||||
OXYGENE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 30.8.2007 Репутация: нет Всего: нет |
Бесспорно выгода в использовании FW есть, прежде всего это уже хорошо известная(команде) архитектура, документация... если что, то можно подпилить если не устраивает что то, но обязательно задокументировав это. Если использую фреймворк то, стараюсь делать классы как можно независимыми от самого фреймвёрка (или хотябы чтоб в дальнейшем делать как можно меньше изменений), для того чтобы их можно было использовать в других проектах или даже в других фреймворках.
|
|||
|
||||
MyDarkSide |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 21.3.2008 Репутация: -1 Всего: -1 |
как то это странно ![]() |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
Ну хоть бы написали почему вам так "кажется" ) А то можно подумать, что "не читал, но осуждаю" -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
LeoK |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2007 Где: Moscow Репутация: нет Всего: нет |
ну хотябы потому, что в случае смешанного использования orm и sql собственно теряется сам смысл использования orm. если у нас есть механизм работы с бд, то, имхо, он должен быть один... что если мы например пытаемся встроиться в "прослойку" с бд? например раскидать запросы проксиком с одного сервака на несколько? в случае описанном brother79 придется во первых встраиваться в класс, во вторых перепиысвать custom запросы... если же механизм прослойки один и он минимален, т.е. банальный $db->query($sql), то менять придётся в одном месте и у нас остается один единый интерфейс к бд. в идеале нужно предусматривать в orm логику, позволяющую вследствии использовать к примеру горизонтальное масштабирование, что не так то просто... ввиду сложности как таковой самой orm + еще механизм масштабирования, который в хайлоад проектах может иметь достаточно сложную организацию. |
|||
|
||||
solenko |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
А кто говорит о смешанном использовании? Что мешает писать кастомные методы с кастомными запросами (в идеале построенными через конструктор ORM) с кастомным маппингом на объекты? Масштабирование обычно реализуется именно средствами СУБД. Клиент (php) просто понятия не имеет с какой именно ноды пришли данные.
В любом случае, после работы всех ORM все сводится к выполнению запроса. И выполняется он всегда в одном месте. И изменить логику в этом месте не проблемма (если уж сильно прижало, что маловероятно)
В чем сложность кроме сложности самой ORM? Как-то "сложность ORM" очень слабый аргумент, т.к.: 1. Масштабирование в них предусмотрено "из коробки" 2. Напильник никто не отменял. И, если уж вы придумали нестандартных алгоритм масштабирования -- допилите. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||||
|
|||||||
LeoK |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 14.12.2007 Где: Moscow Репутация: нет Всего: нет |
solenko, не думаю, что стоит поднимать холивар на тему orm vs sql
![]() Ответьте мне всего лишь на один вопрос - какой смысл городить "решающуювсезадачи" надстройку над sql? преобразовывая объекты в запросы а потом обратно? Думаю, это просто усложняет логику. База есть база, и лучше чем sql еще ничего не придумали... Добавлено через 3 минуты и 55 секунд это задача настолько уникальная для каждого проекта, что общие решения просто идут лесом
это идеальный случай... ЭФФЕКТИВНОЕ (!!!) бесконечное гориз. масштабирование невозможно без вмешательства в код!.. опять таки повторюсь, что это очень специфично для каждого проекта |
|||
|
||||
nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
А вот БЕСКОНЕЧНОЕ гориз. масштабирование - это идеализированный случай ) |
||||
|
|||||
OXYGENE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 30.8.2007 Репутация: нет Всего: нет |
MyDarkSide,
![]() |
|||
|
||||
Alexm6 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 7.9.2009 Репутация: 1 Всего: 1 |
1. без фреймворка действительно сложно работать команде в случаях нехватки опыта, отсутствия опыта работы конкретной группы разработчиков , неопытном ПМе, неграмотном тех задании\ проектной документации. если вся команда неопытна, можно завалить любой проект
2. если речь идет о личном сайте Васи Пупкина, его "мегапартале" для друзей, сайта для продажи слонов и т.д. фреймворки экономят массу времени, но сами разработчики ничему не учатся, т.к. любой фреймворк ограничивает возможности для ускорения разработки ( варианты с переписыванием кусков ядра не рассматриваются, последующий апдейт ядра не должен добавлять N часов работы программисту, просто чтобы сайт работал). 3. при разработке больших сайтов фреймворк ускоряет получение беты, дает возможность быстро показать клиенту что-то готовое. Но как правило, все переписывается при первой оптимизации, т.к. в фреймворках упор делается на функциональность, а не на скорость работы скриптов 4. можно и нужно изобретать велосипеды, это процесс обучения. И пусть говорят что 1000 разработчиков отладило код фрейморка, появится 1001 и найдет в том же коде фатальный баг, 1000 обезьян могут ошибаться и как правило ошибаются. Необходимо четко знать возможности платформы, требования клиентов и так же предполагаемой нагрузки на систему. В 50% случаев хватает уже готовых модулей для друпала\кейка, еще в 40% можно что-то в них допилить. оставшиеся 10% это узкая сфера, где фреймворки\цмс не приживаются, т.к. задачи очень нестандартные и сложно вписываются в рамки любого написанного софта |
|||
|
||||
brother79 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: нет Всего: 6 |
Я не спорю, на своих ошибках учиться можно, только есть поговорка про то, кто и н чьих ошибках учится. Это я к слову нужности изобретания велосипеда. |
|||
|
||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 0 Всего: 38 |
Ещё раз упомяну, что скорость работы большинства PHP фреймворков узким местом не является. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
Alexm6 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 7.9.2009 Репутация: 1 Всего: 1 |
если не является, то скорее:
много трафа на сайт не только радость =) у Васи никогда не будет столько уников в онлайне чтобы нагрузить сервер или понадобился ровно работающий кластер серверов я не хочу сказать что фреймворк плохо, но топик стартер спросил
да, грузит немного серв имхо |
||||||
|
|||||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
Угу. А Yahoo answers мегапортал для друзей Джерри Янга ) -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |