Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите определиться с технологиями для проекта, Социальная сеть 
V
    Опции темы
DimW
Дата 26.9.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



serger, для того что бы понять плюсы ORM в конкретных ситуациях не нужно создавать подобные темы, они и так очевидны.
просто при выборе подобных средств не нужно заявлять что это позволит обеспечить независимость от БД. я принял участие в обсуждении только по тому что хотел довести до сведения участников что любое ПО зависит целиком и полностью от БД под которую оно разработано и что все заявления что существуют средства которые позволяют обеспечить подобную гибкость - вранье. 

Цитата(seth @  25.9.2008,  12:19 Найти цитируемый пост)
DimW  нечего демагогию разводить: есть что сказать - все во внимании

а вы не правоцируйте.

Цитата(seth @  25.9.2008,  12:19 Найти цитируемый пост)
вот еще инфа
Сравнение Hibernate (ORM) vs JDBC 

судя по ссылке которую вы дали, я делаю вывод что вы так и не попытались понять о чем я хотел сказать.

CaligoSpiritus, судя из того что вы написали, можно сделать вывод что вы всетаки подумали, часть своих заялений беру обратно. 


PM MAIL ICQ   Вверх
mbasil
Дата 26.9.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



Позволю себе внести маленькое дополнение в дискуссию. Недавно я все писал на JDBC руками и так, как работаю на Oracle, я понимаю DimW. К сожалению ORM системы типа Hibernate просто не дают использовать мощь Oracle по полной схеме. Однако в пылу полемики он несколько перебрал.

Здесь много говорилось о запросах, и почти исключительно о запросах, когда приводились примеры. К сожалению боле сложную часть работы с базой представляют собой управление транзакциями в приложении (в большинстве приложений). А вот здесь ORM системы не просто укоряют работу разработчика, а делают ее существенно эффективнее.

Бывают "крутые" отчеты, выполняющиеся часами. Это особая "песня" и никто не мешает выполнять их запросы вообще за пределами ORM системы с помощью JDBC и оптимизировать до потери пульса. Оптимизировать же множество коротких запросов в транзакционной системе смысла нет.

Можно вообще пойти на компромисс. Oracle10g позволяет выявлять особо нагружающие систему запросы. Оптимизируйте их с помощью Native SQL но в рамках ORM системы.


Это сообщение отредактировал(а) mbasil - 26.9.2008, 10:36
PM MAIL   Вверх
mbasil
Дата 26.9.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



Вообще говоря имеется две психологии разработчиков:

1. Идти от базы, считая приложение (отчасти) вторичным.
2. Идти от приложения, считая базу свалкой таблиц.

Я принадлежу скорее к первой группе, но честно пытаясь разобраться, понимаю, что использовать ORM систему при разработке мало мальски сложной системы сегодня просто необходимо.   

Однако есть разработчики, которые упорно причисляют себя только к первой или только второй категории и не хотят идти на компромисс. Тем хуже для них.
PM MAIL   Вверх
DimW
Дата 26.9.2008, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(mbasil @  26.9.2008,  10:35 Найти цитируемый пост)
Оптимизировать же множество коротких запросов в транзакционной системе смысла нет

это короткий запрос?
Код

select * from table_x
where xxx = :p_xxx;


в таком запросе может не работать индекс по полю ххх, учитывая что данные в таблице с большой селективностью хотелось бы что бы индекс всетаки принял участие в сценарии выполнения данного запроса.

mbasil, ну так что забиваем на это и пусть фулскан по таблице делает свое грязное дело?
PM MAIL ICQ   Вверх
fixxer
Дата 26.9.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 4
Всего: 27



DimW, передергиваете. Несомненно анализировать запросы и тюнить базу необходимо. С этим никто не спорит.


--------------------
user posted image
PM MAIL ICQ   Вверх
DimW
Дата 26.9.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(fixxer @  26.9.2008,  12:25 Найти цитируемый пост)
DimW, передергиваете.

не думаю. хотелось бы просто понять где всетаки грань между тем когда нужно заботится о ходе выполнения запроса и когда нет. 
PM MAIL ICQ   Вверх
mbasil
Дата 26.9.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



Ну да, я несколько утрировал. Сознаюсь и каюсь.
Однако ваше, DimW упорство в отстаивании крайней позиции достойно сожаления.
Еще раз подчеркиваю, я очень бы хотел вернуться в те прекрасные времена, когда система писалась неспешно, вручную, изменялась неторопливо, а Программист был магом, а не работником конвейера.  Когда я начинал писать программы, а было это в восьмидесятых годах разработка программ была искусством. Сегодня это индустриальный, зачастую автоматизированный процесс. Это прискорбно, но факт и от ORM систем не убежать. Дальше будет только хуже.

Это сообщение отредактировал(а) mbasil - 26.9.2008, 13:42
PM MAIL   Вверх
fixxer
Дата 26.9.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 4
Всего: 27



Цитата(DimW @ 26.9.2008,  13:16)
Цитата(fixxer @  26.9.2008,  12:25 Найти цитируемый пост)
DimW, передергиваете.

не думаю. хотелось бы просто понять где всетаки грань между тем когда нужно заботится о ходе выполнения запроса и когда нет.

Грань очень простая. Потребность бизнеса и трудозатраты.  Если оптимиизация запроса с 0.05с до 0.0025с требует человеконедели, то пошла бы она эта оптимизация. Другое дело, если тот же запрос является критичным участком, тогда и больше не жалко.


--------------------
user posted image
PM MAIL ICQ   Вверх
CaligoSpiritus
Дата 26.9.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.12.2006

Репутация: 1
Всего: 2



Цитата(DimW @  26.9.2008,  11:18 Найти цитируемый пост)
можно сделать вывод что вы всетаки подумали, часть своих заялений беру обратно. 

и на том спсасибо smile

Цитата(mbasil @  26.9.2008,  11:54 Найти цитируемый пост)
Вообще говоря имеется две психологии разработчиков:

1. Идти от базы, считая приложение (отчасти) вторичным.
2. Идти от приложения, считая базу свалкой таблиц.

Честно говоря, больше принадлежу ко второй - но это не моя идеология. Просто так получилось. Но пихать ВСЮ бизнес-логику в СУБД я тоже не хочу. Мне более по душе средний вариант. Да и люблю я программировать "обычные" приложения (не СУБД).

Цитата(mbasil @  26.9.2008,  11:35 Найти цитируемый пост)
К сожалению боле сложную часть работы с базой представляют собой управление транзакциями в приложении (в большинстве приложений). А вот здесь ORM системы не просто укоряют работу разработчика, а делают ее существенно эффективнее.

Это очень интересно. Я никогда раньше не разрабатывал транзакционных приложений, однако уже вижу, что без транзакционных процессов в соц. сети не обойтись. Соответственно Ваше заявление меня заинтересовало. Как именно ORM framework упростит/ускорит этот момент и какой именно framework Вы рекомендуете в данном ключе, если у Вас есть в этом опыт? 
PM WWW Skype GTalk   Вверх
mbasil
Дата 26.9.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



Можно сказать только начинаю. Выбор прост (поскольку, я полагаю, надо быть в мейнстриме) изучаю JPA, вследствие того, что это стандарт и Hibernate как наиболее часто используемый (хотябы даже из тех соображений, что JPA делалось по образу и подобию Hibernate и может использовать Hibernate в качестве поставщика постоянства).
Рекомендую замечательную книгу "Hibernate In Action".

Впрочем если вы сильно сориентированы на решения Oracle, можно в качестве поставщика постоянства использовать Toplink (однако последний является платным, а бесплатная версия сильно урезана).

В общем рекомендую JPA и Hibernate или native Hibernate.

Это сообщение отредактировал(а) mbasil - 26.9.2008, 17:04
PM MAIL   Вверх
DimW
Дата 26.9.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(mbasil @  26.9.2008,  10:35 Найти цитируемый пост)
К сожалению боле сложную часть работы с базой представляют собой управление транзакциями в приложении (в большинстве приложений). А вот здесь ORM системы не просто укоряют работу разработчика, а делают ее существенно эффективнее.

mbasil, поясните пожалуйста связь между транзакциями и ORM, и о каком управлении идет речь.
или это два обсолютно не связанных друг с другом предложения(я про цитату)?

Цитата(CaligoSpiritus @  26.9.2008,  16:49 Найти цитируемый пост)
Как именно ORM framework упростит/ускорит этот момент

CaligoSpiritus, ни как, почитайте определение транзакции и сами поймете, mbasil скорее всего в терминах проявил неосторожность.

Цитата(CaligoSpiritus @  26.9.2008,  16:49 Найти цитируемый пост)
Я никогда раньше не разрабатывал транзакционных приложений, однако уже вижу, что без транзакционных процессов в соц. сети не обойтись

CaligoSpiritus, управление транзакциями СУБД обеспечивает самостоятельно, повлиять можно только на уровень изоляции настройкой на уровне СУБД. вы говорили что у вас есть опыт в оракл, поэтому любое ПО написаное вами использующее СУБД оракл без таковых процессов работать не может. поэтому можно сделать вывод что вы сами не понимаете о чем вы спрашиваете.
PM MAIL ICQ   Вверх
polosatij
Дата 26.9.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8



Цитата(Vasay @  25.9.2008,  15:21 Найти цитируемый пост)
то-то не о том вы спорите...

Разрабатывая соц сеть, ГЛАВНОЕ, сделать ее интересной. 

Уверяю, что если соцсеть, написанная относительно нормальным PHP прогером с использованием какой-нибудь MySQL, загрузит среднестатистический сервер, хотя бы на 50%, уже будет приносить достаточно, что бы нанять группу профи, для создания нормального движка. 

На что стоит впервую очередь обратить внимание? 
- Идея
- Удобство использования
- дизайн
- продвижение проекта


с этим я с тобой соглашусь..  smile 

Цитата(Vasay @  25.9.2008,  15:21 Найти цитируемый пост)
Технологии вторичны.


а с этим нет..  smile 

Цитата(Vasay @  25.9.2008,  15:21 Найти цитируемый пост)
Нужно применять то, что позволит наиболее быстро запустить проект, и наиболее просто наращивать его функционал.


так бывает только в сказках.. или в проектах, что окончат существование через год или не имеют большой приток людей.. по одной простой причине, русурсы ограничены.. и если тебе "повезёт" и ты получишь приток посетителей о которых мечтал, вся трабла так ребром может встать ....

Цитата(Vasay @  25.9.2008,  15:21 Найти цитируемый пост)
Если пойти немного дальше - выбор технологий должен учитывать наличие квалифицированных специалистов на рынке труда.


мне кажется, что сейчас по сути специалистов можно найти в любой сфере, проблема только в том, что люди с опытом, не хотят малых денег, а нанимать людей без опыта нет смысла.. вот и приходится искать компромис..



Это сообщение отредактировал(а) polosatij - 26.9.2008, 17:45


--------------------
PM   Вверх
DimW
Дата 26.9.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(polosatij @  26.9.2008,  17:42 Найти цитируемый пост)
мне кажется, что сейчас по сути специалистов можно найти в любой сфере, проблема только в том, что люди с опытом, не хотят малых денег, а нанимать людей без опыта нет смысла.. вот и приходится искать компромис..


polosatij, это замкнутый круг, сначало кучка засранцев что то пишет, потом нанимают спецов что бы все это дело задышало, потом отказываются от них из за стоимости, опять пишут засранцы и т.д.
бабло, бабло, бабло... :(
PM MAIL ICQ   Вверх
jeank
Дата 26.9.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 26.6.2008
Где: Калининград

Репутация: нет
Всего: 1



Здрасте.

В сторону ORM в частности и к серверам приложений в общем меня развернула потребность в систематизированном подходе решения классических задач. Ну, например, в нормальной учетной многопользовательской системе должны быть права на объекты, операции, возможность блокировки объектов при их редактировании (или другие причины) - короче, управление объектами, которые "размазаны" по таблицам реляционной БД.
О сколько попыток я пересмотрел - в основном касались блокирования записи в таблице пользователем на редактирование и т.д и т.п.
Но все они либо "геморойны" в реализации, причем очень, либо реализовывались криво. Очень интересно было бы посмотреть как приверженец двухзвенки реализовывал бы блокировку объекта раскиданного по семи таблицам )) (я не говорю, что этого нельзя сделать с помощью тех же самых хранимых процедур и дополнительных таблиц - но это ну очень трудоемко и невозможно нормально поддерживать).

А сервера приложений со своим ORM, фактически стандартизируют все это управление объектами, плюс регистрация пользователей и раздача прав.
Не понимаю как можно не видеть очевидные вещи.
PM MAIL WWW   Вверх
polosatij
Дата 26.9.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8



Цитата(DimW @  26.9.2008,  17:50 Найти цитируемый пост)
polosatij, это замкнутый круг, сначало кучка засранцев что то пишет, потом нанимают спецов что бы все это дело задышало, потом отказываются от них из за стоимости, опять пишут засранцы и т.д.
бабло, бабло, бабло... :( 


у нас на фирме хотя и пишут серъёзный код (самолёты), но чего я, наверно, не понимаю.
мне говорят:

- это, ты доделаешь потом.. как-нибудь в третем релизе..
+ т.м. Вы хотите качественный софт или чтоб пнуть и всё зазыпалось к ... -фени?  smile 
- мы хотим быстро и денег срубить и качественно (но очень быстро!).. (молчание обозначающее это)

и можешь вот так вот  smile smile потому как релиз на этой неделе, а для того, чтоб всё сверкало надо ещё пару недель, но времени нет.. 

Цитата(DimW @  26.9.2008,  17:50 Найти цитируемый пост)
бабло, бабло, бабло... :( 


ага.. программирование - это не искусство.. это тупая быстрая работа без энтузиазма для денег чужому дяде..  smile 



--------------------
PM   Вверх
Страницы: (7) Все « Первая ... 3 4 [5] 6 7 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0994 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.