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

Поиск:

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


Шустрый
*


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

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



Уже два года программирую на Java, но никаких "больших" проектов еще не делал. Решил, что уже пора. И вот, с сотрудником решили написать небольшую социальную сеть (по крайней мере, для начала - небольшую smile ).
Технологии намереваемся использовать следующие:
Spring Framework, Spring MVC, Hibernate для работы с БД, Velocity для  темплейтинга.
Однако, на счёт остальных компонентов пока сомневаемся.
Для пользовательского (web-browser) решено использовать AJAX, но какой движок выбрать? В "Pro Spring" советуют DWR, а какие ещё есть варианты, какие преимущества?
У сети будет тяжёлая фото-составляющая. Отсюда вопрос, как лучше хранить изображения - в файловой системе или в БД? (БД планируем использовать Oracle).
PM WWW Skype GTalk   Вверх
Llucas
Дата 22.9.2008, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


J2EE Developer
*


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

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



Ну все это хорошо и очень даже удобно использовать. Но вот DWR  я бы не рекомендовал.  Лучше просто использовать какую-нибудь javascript библиотеку (ExtJs, JQuery), где очень удобно делать AJAX-запросы. На мой взгляд это надежнее.
PM MAIL WWW   Вверх
CaligoSpiritus
Дата 22.9.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



На первый взгляд понравилась jQuery, но на сколько удобно её можно интегрировать со Spring MVC? Ведь там будут не просто AJAX запросы какого-то контента, вроде кусочка html или картинки, это будет запрос к слою сервисов. (Не уверен, на сколько это умный вопрос - с разработкой на JS ранее не сталкивался). В случае DWR всё понятно - вызываем функцию (на подобие RPC) она отрабатывает и возвращает результат, DWR занимается маршаллизацией этого действа.
PM WWW Skype GTalk   Вверх
dEEp
Дата 22.9.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а я бы не рекомендовал Hibernate. лучше юзать обычные JDBC запросы. Потому как при использовании Hibernate ваша соц.сеть упадёт при большом кол-ве online пользователей. Hibernate чаще всего применяют для админских целей (страниц).
PM MAIL   Вверх
AntonSaburov
Дата 22.9.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Не надо путать DWR и тот же ExtJS - это разные вещи.
DWR служит для удобного интерфейса JavaScript обхектов на Java - т.е. на серверную часть. А ExtJS - это чистый JavaScript. Так что они прекрасно совмещаются. У нас в проекте как раз такая связка работает. Да еще и JSF подмешана. На серверной стороне Spring, Hibernate.
И вполне пристойно все получается.
PM MAIL WWW ICQ   Вверх
seth
Дата 22.9.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(dEEp @ 22.9.2008,  12:38)
а я бы не рекомендовал Hibernate. лучше юзать обычные JDBC запросы. Потому как при использовании Hibernate ваша соц.сеть упадёт при большом кол-ве online пользователей. Hibernate чаще всего применяют для админских целей (страниц).

не думаю что она куда то упадет именно из-за хибернейта, не вижу причин... smile

а насчет самому писать запросы - так это много времени уйдет ;)

а так посоветовал бы Flex как бэкэнд (ну или что то более экзотическое из РИА)

а еще посоветовал бы юзать платформу facebook если хочется соц сеть ;) идея как для обучения в принципе сойдет но имхо можно придумать что то более интересное smile

Это сообщение отредактировал(а) seth - 22.9.2008, 15:18


--------------------
PM MAIL   Вверх
dEEp
Дата 22.9.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



[QUOTE=seth,22.9.2008,  15:16]
Цитата(dEEp @ 22.9.2008,  12:38)
а насчет самому писать запросы - так это много времени уйдет ;)

Писать самому долго??? О_о Не сказал бы. Всё зависит от вашего уровня знаний. 


Лан, это уже offtopic идёт...

Это сообщение отредактировал(а) dEEp - 22.9.2008, 15:22
PM MAIL   Вверх
powerOn
Дата 22.9.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(dEEp @  22.9.2008,  13:38 Найти цитируемый пост)
а я бы не рекомендовал Hibernate. лучше юзать обычные JDBC запросы. Потому как при использовании Hibernate ваша соц.сеть упадёт при большом кол-ве online пользователей. Hibernate чаще всего применяют для админских целей (страниц). 


Были прецеденты? Каковы причины? 
Интересно очень, ибо сами в проекте расчитанном на большое количество пользователей используем JPA на базе Hibernate. Было бы круто узнать про грабли чтоб потом не напороться. smile


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
seth
Дата 23.9.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



[QUOTE=dEEp,22.9.2008,  15:22]
Цитата(seth @ 22.9.2008,  15:16)
Цитата(dEEp @ 22.9.2008,  12:38)
а насчет самому писать запросы - так это много времени уйдет ;)

Писать самому долго??? О_о Не сказал бы. Всё зависит от вашего уровня знаний. 


Лан, это уже offtopic идёт...

тут дело не в уровне знаний а в технологии - SQL хороший язык только не для всего ;)
а для работы с объектами (да еще и имеющих сложные иерархии наследования) и связями между ними уж больно долго будут писатся все необходимые запросы из-за их большого колличества и сложности...
когда на хибернейте вобщемто генерация кода и мэппингов решит много проблем ;)


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


Эксперт
***


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

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



Цитата(powerOn @  22.9.2008,  20:22 Найти цитируемый пост)
Было бы круто узнать про грабли чтоб потом не напороться.  


используя Hibernate у вас нет возможности проконтролировать и изменить сценарий выполнения запроса. 
это ограничение как раз таки приводит к падению производительности на БД сервере.
возможность влиять на план выполнения запроса является фундаментальной стартегией тюнинга запросов в оракле.

ссылка для автора топика, читать "Подход с использованием принципа черного ящика": http://www.citforum.ru/database/oracle/kyte/
CaligoSpiritus, поскольку ты выбрал именно оракл, то либо ты следуешь советам Т. Кайта, либо просто моменяй СУБД.

Цитата(seth @  22.9.2008,  15:16 Найти цитируемый пост)
а насчет самому писать запросы - так это много времени уйдет ;)

а сэкономленное время приумножим и потратим на переделку системы в самое неподходящее время, т.е. в момент когда ею действительно начнут интересоваться.
PM MAIL ICQ   Вверх
v2v
Дата 23.9.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



для оракла существует аналог хибернейт , звётся он TOPLink.


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


Эксперт
***


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

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



Цитата(v2v @  23.9.2008,  13:27 Найти цитируемый пост)
звётся он TOPLink

в TOPLink есть возможность менять запрос, или он так же генерируется как в хибернейт?
PM MAIL ICQ   Вверх
v2v
Дата 23.9.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Цитата(DimW @  23.9.2008,  13:35 Найти цитируемый пост)
так же генерируется как в хибернейт

да, 
но
DimW, в хибернейт тоже есть возможность менять запрос smile




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


Эксперт
***


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

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



Цитата(v2v @  23.9.2008,  14:05 Найти цитируемый пост)
в хибернейт тоже есть возможность менять запрос 

ок, тогда зайду с другой стороны:
если есть необходимость каждый раз менять запрос по причине того что меня не устраивает тот что сгенерил хибернейт, имеет ли смысл его вобще использовать, что я выиграю в этом случае?
PM MAIL ICQ   Вверх
Vasay
Дата 23.9.2008, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 18
Всего: 73



А социальная сеть будет открытая, или закрытая (только для зарегистрированных пользователей)?

Есть необходимость индексации проекта поисковиками?
Если есть - читаем про СЕО и ограничиваем применение ajax только там, где это не вредит СЕО.

 А JSF вообще лучше обходить стороной, мало  того что с СЕО несовместимо, так пользователи материться будут - ни ссылку другу не пошлешь, ни в избранное сохранишь....


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Asal
Дата 23.9.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Vasay @  23.9.2008,  14:21 Найти цитируемый пост)
 А JSF вообще лучше обходить стороной, мало  того что с СЕО несовместимо, так пользователи материться будут - ни ссылку другу не пошлешь, ни в избранное сохранишь....

а можно подробнее, почему?
конкретные примеры, если возможно.


--------------------
PM MAIL ICQ   Вверх
dEEp
Дата 23.9.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Vasay @ 23.9.2008,  14:21)
 А JSF вообще лучше обходить стороной, мало  того что с СЕО несовместимо, так пользователи материться будут - ни ссылку другу не пошлешь, ни в избранное сохранишь....

не верю. аргументы в студию!
PM MAIL   Вверх
Vasay
Дата 23.9.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 18
Всего: 73



Asal
dEEp

Свое мнение и доводы против JSF я высказал в этой теме:
http://forum.vingrad.ru/forum/topic-213156...tml#st_0_view_0


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
dEEp
Дата 23.9.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Vasay @ 23.9.2008,  16:54)
Asal
dEEp

Свое мнение и доводы против JSF я высказал в этой теме:
http://forum.vingrad.ru/forum/topic-213156...tml#st_0_view_0

ok.
PM MAIL   Вверх
powerOn
Дата 23.9.2008, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(DimW @  23.9.2008,  15:11 Найти цитируемый пост)
если есть необходимость каждый раз менять запрос по причине того что меня не устраивает тот что сгенерил хибернейт, имеет ли смысл его вобще использовать, что я выиграю в этом случае? 


О каких конкретно запросах идет речь? На получение/изменение данных? Так их всегда самому можно написать в Hibernate. Если это DDL запросы на создание таблиц БД, то, впринципе, проектировать от БД к объектам никто не запрещает. 

P.S.: Теме когда лучше использовать ORM фреймворки, а когда голый SQL посвящена одна из глав книги Мартина Фаулера "Архитектура корпоративных программных приложений". Там достаточно подробно описаны плюсы и минусы технологий в зависимости от сложности проекта.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
DimW
Дата 24.9.2008, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(powerOn @  23.9.2008,  18:56 Найти цитируемый пост)
О каких конкретно запросах идет речь?

только на получение данных.
изменения данных я описываю хранимыми процедурами на уровне БД.
про DDL и речи быть не может, это этап проектирования, а не работы приложения.

Цитата(powerOn @  23.9.2008,  18:56 Найти цитируемый пост)
Там достаточно подробно описаны плюсы и минусы технологий

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

и снова вопрос: имеет ли смысл использовать ORM фреймворки в моем случае?
мне просто хочется понять какое приемущество я получу используя их, а не голый jdbc.

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


Опытный
**


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

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



Цитата(DimW @ 24.9.2008,  09:03)
Цитата(powerOn @  23.9.2008,  18:56 Найти цитируемый пост)
О каких конкретно запросах идет речь?

только на получение данных.
изменения данных я описываю хранимыми процедурами на уровне БД.
про DDL и речи быть не может, это этап проектирования, а не работы приложения.

Цитата(powerOn @  23.9.2008,  18:56 Найти цитируемый пост)
Там достаточно подробно описаны плюсы и минусы технологий

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

и снова вопрос: имеет ли смысл использовать ORM фреймворки в моем случае?
мне просто хочется понять какое приемущество я получу используя их, а не голый jdbc.

так тогда не понятно какой ваш случай? у ТС это небольшая соц. сеть а у вас то что? smile

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

хотя мне кажется опять же что проще сделать на хибернейте и купить мощнее сервер - дешевле будет smile

в минусах от jdbc - долгая разработка + зависимость от БД

ЗЫ а так действительно лучше Фаулера почитать smile)


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


Эксперт
***


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

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



Цитата(seth @  24.9.2008,  09:35 Найти цитируемый пост)
 зависимость от БД

поверьте, нет систем которые не зависят от СУБД, невозможно без переработки кода просто взять и перенести ПО на другое СУБД.

Цитата(seth @  24.9.2008,  09:35 Найти цитируемый пост)
хотя мне кажется опять же что проще сделать на хибернейте и купить мощнее сервер - дешевле будет 

и что Фаулер советует поступать именно так?!
PM MAIL ICQ   Вверх
Asal
Дата 24.9.2008, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(DimW @  24.9.2008,  09:43 Найти цитируемый пост)
поверьте, нет систем которые не зависят от СУБД, невозможно без переработки кода просто взять и перенести ПО на другое СУБД.

Но для этого не надо километры кода менять.
Не понравилась MySQL пожалуйста, поменяй одну строчку в persistence.xml и используй другую БД.
Не хочешь Hibernate + MySQL, а хочешь Oracl + TopLink, поменяй 5 строчек.
Но это если работать с JPA.

P.S. ИМХО


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


Эксперт
***


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

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



Цитата(Asal @  24.9.2008,  10:25 Найти цитируемый пост)
Но для этого не надо километры кода менять

я не спорю что после изменения этой строки ваше приложение сможет работать с другой БД, но вряд ли бизнес процессы которые изначально были определены будут работать так же.
простой пример:
есть таблица в БД с названием test
она содержит след. поля и значения:
поле: name
значения: 1, 2, 3, null

некое ПО было написано под БД MS SQL. кончепцией этого ПО является - "не показывать данные с пустыми значениями".
програмист выполнил задачу написав такой запрос:
Код

select * from test where name <> null;


после миграции системы на оракл главная концепция ПО перестала работать т.к. данное условие "name <> null" в оракл возвращает false- следовательно пользователь перестал вобще получать данные.
и только переписав запрос таким образом:
Код

select * from test where name is not null;

мы получим необходимый результат.

Цитата(Asal @  24.9.2008,  10:25 Найти цитируемый пост)
Не понравилась MySQL пожалуйста, поменяй одну строчку в persistence.xml и используй другую БД.


Asal, это верно! действительно ПО будет работать с новой БД, но как?!
так что любой кто утверждает что он написал ПО которое может работать под все БД(без переписывания кода), говорит это только по тому что он не пробывал его мигрировать на другую БД.

Это сообщение отредактировал(а) DimW - 24.9.2008, 11:08
PM MAIL ICQ   Вверх
DimW
Дата 24.9.2008, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(seth @  24.9.2008,  09:35 Найти цитируемый пост)
так тогда не понятно какой ваш случай? у ТС это небольшая соц. сеть а у вас то что?

социальная сеть это задача которую нужно решить, а не подход к разработки. 
так что не понятно?

Цитата(seth @  24.9.2008,  09:35 Найти цитируемый пост)
или если хочется писать хранимые процедуры

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

так едрен-батом, кто нибудь ответит мне на мой поставленный вопрос - как в моем случае мне помогут ORM фреймворки?

Это сообщение отредактировал(а) DimW - 24.9.2008, 11:26
PM MAIL ICQ   Вверх
dEEp
Дата 24.9.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(DimW @ 24.9.2008,  11:22)
так едрен-батом, кто нибудь ответит мне на мой поставленный вопрос - как в моем случае мне помогут ORM фреймворки?

мне кажется только переносимостью спасают. 

я никогда не отказывался от jdbc и отказываться не собираюсь.
PM MAIL   Вверх
DimW
Дата 24.9.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(dEEp @  24.9.2008,  11:36 Найти цитируемый пост)
мне кажется только переносимостью спасают. 


dEEp, мне тоже кажется что это один из весомых аргументов на который "ведутся", но хочеться услышать остальные доводы.

Это сообщение отредактировал(а) DimW - 24.9.2008, 14:46
PM MAIL ICQ   Вверх
ivg
Дата 24.9.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


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

Репутация: 32
Всего: 81



Цитата(DimW @  24.9.2008,  14:22 Найти цитируемый пост)
кто нибудь ответит мне на мой поставленный вопрос - как в моем случае мне помогут ORM фреймворки?

А что у вас за случай? А то, кроме максимизации производительности взаимодействия с СУБД, других требований нет? С таким единственным критерием то конечно, - JDBC лучше.  smile 
PM MAIL   Вверх
Asal
Дата 24.9.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



DimW, во-первых это было мое ИМХО.
во-вторых есть такая штука как
Код

<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>

разве оно не за это отвечает ?
Цитата(DimW @  24.9.2008,  11:06 Найти цитируемый пост)
так что любой кто утверждает что он написал ПО которое может работать под все БД(без переписывания кода), говорит это только по тому что он не пробывал его мигрировать на другую БД.

а я этого не утверждаю  smile 


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


Эксперт
***


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

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



Цитата(Asal @  24.9.2008,  12:51 Найти цитируемый пост)
во-вторых есть такая штука как

Разметка XML
1:

<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>

разве оно не за это отвечает ?


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

Цитата(Asal @  24.9.2008,  12:51 Найти цитируемый пост)
во-первых это было мое ИМХО.


Asal, любое мнение основывается на чем либо. на чем основано ваше? есть конкретные доводы или только в теории все.
хотя вам ни кто не заприщает мнеть свое ошибочное мнение. лично я чтобы не быть голословным показал на пальцах как один запрос дает разные результаты в разных СУБД.


Цитата(ivg @  24.9.2008,  11:49 Найти цитируемый пост)
А что у вас за случай?

случай простой:
1) всю логику приложения я размещаю на уровне БД.
2) все запросы(на получение данных) перед выходом в жизнь трассируются, оценивается их производительность и при необходимости тюнингуются. т.е. каждый запрос пишется вручную.
PM MAIL ICQ   Вверх
v2v
Дата 24.9.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Цитата(DimW @  24.9.2008,  13:51 Найти цитируемый пост)

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

самостоятельно написать запрос можно не на диалекте , а на HQL - встроенный sql язык в  хибернэйт, который hibernate-core затем сам преобразует в указаный диалект.

Добавлено @ 15:27
Цитата(DimW @  24.9.2008,  11:22 Найти цитируемый пост)
кто нибудь ответит мне на мой поставленный вопрос - как в моем случае мне помогут ORM фреймворки?

Цитата(DimW @  24.9.2008,  13:51 Найти цитируемый пост)
случай простой:

а какая у вас СУБД не  оракл случаем?

Это сообщение отредактировал(а) v2v - 24.9.2008, 15:28


--------------------
PM   Вверх
powerOn
Дата 24.9.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(DimW @  24.9.2008,  12:06 Найти цитируемый пост)
некое ПО было написано под БД MS SQL. кончепцией этого ПО является - "не показывать данные с пустыми значениями".
програмист выполнил задачу написав такой запрос:
    
select * from test where name <> null;


после миграции системы на оракл главная концепция ПО перестала работать т.к. данное условие "name <> null" в оракл возвращает false- следовательно пользователь перестал вобще получать данные.
и только переписав запрос таким образом:

select * from test where name is not null;

мы получим необходимый результат.


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




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Asal
Дата 24.9.2008, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(v2v @  24.9.2008,  15:24 Найти цитируемый пост)
самостоятельно написать запрос можно не на диалекте , а на HQL - встроенный sql язык в  хибернэйт, который hibernate-core затем сам преобразует в указаный диалект.


Цитата(powerOn @  24.9.2008,  15:29 Найти цитируемый пост)
Достаточно написать на запрос на JPA Query 

это я и имел ввиду, только забыл сказать  smile 
например 
Код

select u from UserEntity u where u.username =:username and u.password =:password and (u.username is not null)



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


Эксперт
***


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

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



Цитата(v2v @  24.9.2008,  15:24 Найти цитируемый пост)
а какая у вас СУБД не  оракл случаем?

он самый.

Цитата(v2v @  24.9.2008,  15:24 Найти цитируемый пост)
а на HQL - встроенный sql язык в  хибернэйт

еще раз говорю, ну не смогу я оценить произвадительность запроса написанного на HQL, тем более настроить его производительность.

Цитата(powerOn @  24.9.2008,  15:29 Найти цитируемый пост)
вот именно от подобных вещей (переписываний запросов для разных серверов и диалектов) и спасает ORM фраймворк.

вот как ORM фраймворк спасет меня в случае если мне нужно написать такой запрос:

Код

select trunc(sysdate) + rownum
  from dual
connect by level < 11


Цитата(powerOn @  24.9.2008,  15:29 Найти цитируемый пост)
вот именно от подобных вещей (переписываний запросов для разных серверов и диалектов) и спасает ORM фраймворк.


powerOn, есть опыт безболезненного переноса?
PM MAIL ICQ   Вверх
powerOn
Дата 24.9.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(DimW @  24.9.2008,  16:57 Найти цитируемый пост)
вот как ORM фраймворк спасет меня в случае если мне нужно написать такой запрос:

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

Цитата(DimW @  24.9.2008,  16:57 Найти цитируемый пост)
powerOn, есть опыт безболезненного переноса? 

Нет опыта болезненного переноса.  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

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


Шустрый
*


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

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



Цитата(DimW @  24.9.2008,  11:22 Найти цитируемый пост)
кто нибудь ответит мне на мой поставленный вопрос - как в моем случае мне помогут ORM фреймворки?
Цитата(DimW @  24.9.2008,  12:51 Найти цитируемый пост)
1) всю логику приложения я размещаю на уровне БД.
2) все запросы(на получение данных) перед выходом в жизнь трассируются, оценивается их производительность и при необходимости тюнингуются. т.е. каждый запрос пишется вручную.

Задача ORM - укладывать в базу и доставать из нее объекты, которыми манипулирует слой бизнес-логики. В Вашем же случае бизнес-логика находится на уровне БД, т.е. объектная модель вырождена. Соответственно использование ORM в данном случае смысла не имеет.
PM MAIL   Вверх
v2v
Дата 24.9.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Цитата(DimW @  24.9.2008,  15:57 Найти цитируемый пост)

еще раз говорю, ну не смогу я оценить произвадительность запроса написанного на HQL, тем более настроить его производительность.

это же вполне стандартная задача...
Тюнинг оэрэмма для oracle. 




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


Эксперт
***


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

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



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

ORM стоит использовать(в порядке приоритета):
1. если есть потребность в ОО представлении данных;
2. если бизнес логика реализуется на апп сервере;
3. что есть надежда на безболезненную смену СУБД в случае необходимости;

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

Добавлено через 1 минуту и 31 секунду
Цитата(powerOn @  24.9.2008,  16:07 Найти цитируемый пост)
Нет опыта болезненного переноса.

спасибо за честность smile
PM MAIL ICQ   Вверх
Shurr
Дата 24.9.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



DimW
Первые два пункта обязательны, третий - как один из вариантов. Вместо него чаще идет такой плюс ORM, как повышенная скорость разработки с возможностью в будущем подтюнить узкие места, заменив в них автоматический маппинг на ручной (буде такая необходимость возникнет).

А вывод насчет неоправданности в случае логики на БД - да, так и есть.
PM MAIL   Вверх
dEEp
Дата 24.9.2008, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



DimW, поддерживаю вас.
PM MAIL   Вверх
DimW
Дата 24.9.2008, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(dEEp @  24.9.2008,  17:13 Найти цитируемый пост)
DimW, поддерживаю вас.

спасибо, хотя бы не чувствую себя не понятым в этой ветке форума.

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

мои выводы:
1. нежелание и неумение вникать в суть поставленной задачи;
к примеру автора топика совсем не заботит что оракл это версионник и ввиду этого обеспечивает большую маштабируемость, но с учетом специфики задачи "соц. сеть" и требованием к системе "У сети будет тяжёлая фото-составляющая", все преимущества оракл летят в некуда, по моему гораздо аффективней использовать мускул и файловую систему для хранения фотографий. складывается впечатление что выбор СУБД был сделан на основе того что он слышал что "оракл это хорошо"
за то он очень озадачен выбором популярных технологий. стадность прям какая то.

2. вера, что скорость разработки увеличивается;
это работает в одном случае, если стоит задача сдать проект, забрать бабло, и забыть.

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

В общем безграмотность на каждом шагу, стыдно господа!


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


Опытный
**


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

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



DimW, жестко! может даже грубо.
Но заставили задуматься, за это - спасибо!


--------------------
PM MAIL ICQ   Вверх
Shurr
Дата 24.9.2008, 20:07 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

Цитата(DimW @  24.9.2008,  17:47 Найти цитируемый пост)
2. вера, что скорость разработки увеличивается;
это работает в одном случае, если стоит задача сдать проект, забрать бабло, и забыть.

Это работает в случае, когда производительность системы под большими нагрузками не ставится во главу угла, либо когда БД не является узким местом системы. 
Это работает в бизнесе, когда система нужна на вчера, и в процессе разработки требования меняются с завидной регулярностью. А после запуска такой системы она устаревает с каждым днем, поэтому скорость внесения изменений очень критична.
Вообще, если говорить о поддержке - практически любая система после выхода в продакшн продолжает развиваться, баги правятся, функциональность расширяется. И если справедливо одно из вышеперечисленных условий, то стоимость поддержки и модификации при разумном использовании ORM будет ниже, чем без него. И чем больше, сложнее система, чем чаще в нее требуется вносить изменения - тем заметнее будет выигрыш.

Цитата(DimW @  24.9.2008,  17:47 Найти цитируемый пост)
3. халатное отношение к своей профессии;
почему то некоторые считают, что производительность ПО зависит от количества двуядерных у сервака. и это можно выдвигать в качестве аргумента в пользу выбора или оправданий используемых технологий.
Должно быть понимание разумного подхода к разработке. Глупо ожидать, что любой софт на двух серверах будет работать вдвое быстрее чем на одном. Но если система масштабируется (естественно в разумных пределах), то покупка нового оборудования действительно может быть дешевле, чем вылизывание каждого запроса.
PM MAIL   Вверх
powerOn
Дата 24.9.2008, 21:31 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
2. вера, что скорость разработки увеличивается;
это работает в одном случае, если стоит задача сдать проект, забрать бабло, и забыть.


Увеличение скорости разработки делается не для этих целей. Главная цель это как можно быстрее вывести рабочий продукт на рынок. Это бизнес. Рабочий продукт это не тот, что работает быстрее всех, а тот что справляется с поставленными задачами.  Лично я бы не стал тратить время и силы на оптимизацию какой-либо части продукта, если в этом нет необходимости. Если запрос выполняется за 0.05 сек и это всех устраивает, то нет смысла тратить дополнительные силы и время (читайте "деньги") на достижение его выполнения за 0.025 сек. Предварительная оптимизация - это известный антипаттерн.


Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
3. халатное отношение к своей профессии;
почему то некоторые считают, что производительность ПО зависит от количества двуядерных у сервака. и это можно выдвигать в качестве аргумента в пользу выбора или оправданий используемых технологий.


Увеличение производительности работы через железо тоже бывает экономически выгодным. Все зависит от характера проекта, сроков и бюджета. Сделать кластер может быть реально дешевле оптимизации части программы.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
polosatij
Дата 24.9.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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





я задумываюсь для почти таких же целей взять вместо Hibernate, Ibatis.. НО.. пока изучаю, и смотрю, что и как, и почему..  smile 


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


Опытный
**


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

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



Цитата(DimW @ 23.9.2008,  14:11)
Цитата(v2v @  23.9.2008,  14:05 Найти цитируемый пост)
в хибернейт тоже есть возможность менять запрос 

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

Посмотрел(подсмотрел) на Ваш профиль. Исходя из собственного опыта - проблема в мировозрении.
Просто взгляд на вещи с разных строн. "Кривые" зеркала.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
DimW
Дата 25.9.2008, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Shurr @  24.9.2008,  20:07 Найти цитируемый пост)
Тем более, если эти заявления подтверждены только собственными измышлениями. 

да конечно собственными, чьими же еще! имея 5 летний опыт разработки под СУБД оракл, кому как не мне понимать что оракл для конкретной задачи бесполезен. но волнует меня именно то, что автор даже не удасужился спросить о целесообразности его использования в соответсвующей ветке форума. и то что ни кто не обратил его внимание на это.

Цитата(Shurr @  24.9.2008,  20:07 Найти цитируемый пост)
либо когда БД не является узким местом системы

не знаю что конкретно вы имеете ввиду, но могу с уверенностью заявить, что самое узкое место любой системы это БД, вернее не грамотность в его использовании. конечно если текущую задачу "соц. сеть" развернуть на оракле и мега железе, то 99% проблем не возникнет, но вряд ли оно того стоит.

Цитата(Shurr @  24.9.2008,  20:07 Найти цитируемый пост)
и в процессе разработки требования меняются с завидной регулярностью

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

Цитата(Shurr @  24.9.2008,  20:07 Найти цитируемый пост)
Но если система масштабируется (естественно в разумных пределах), то покупка нового оборудования действительно может быть дешевле, чем вылизывание каждого запроса. 


Shurr, маштабируемость системы не определяется мощностью железяк, это возможность одновременного доступа к ресурсам системы, данная возможность определяетя только на уровне СУБД, но не на сервере приложений. понятно что приложение развернутое на апп сервере может влиять на маштабируемость, но только в худшую сторону, маштабируемей самой БД приложение быть не может. 

Цитата(powerOn @  24.9.2008,  21:31 Найти цитируемый пост)
Рабочий продукт это не тот, что работает быстрее всех, а тот что справляется с поставленными задачами. 

неоспоримый факт.

Цитата(serger @  25.9.2008,  04:50 Найти цитируемый пост)
Посмотрел(подсмотрел) на Ваш профиль. Исходя из собственного опыта - проблема в мировозрении.
Просто взгляд на вещи с разных строн. "Кривые" зеркала. 

поясните плиз что за разные стороны о которых вы говорите и как они противоречат адекватности выбора технологий для конкретной задачи.

Цитата(Asal @  24.9.2008,  19:31 Найти цитируемый пост)
DimW, жестко! может даже грубо.

если я кого то обидел - прошу прощения.

Цитата(Asal @  24.9.2008,  19:31 Найти цитируемый пост)
Но заставили задуматься, за это - спасибо!

пожалуйста.

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


Опытный
**


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

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



Цитата


Цитата(seth @  24.9.2008,  09:35 Найти цитируемый пост)
хотя мне кажется опять же что проще сделать на хибернейте и купить мощнее сервер - дешевле будет 


и что Фаулер советует поступать именно так?!

где в той цитате хоть слово про Фаулера???  

ПС спецом для вас выделил ключевые слова ;)

Это сообщение отредактировал(а) seth - 25.9.2008, 09:47


--------------------
PM MAIL   Вверх
dEEp
Дата 25.9.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(powerOn @ 24.9.2008,  21:31)
Главная цель это как можно быстрее вывести рабочий продукт на рынок. Это бизнес.

Наверное также говорил и Гейтс...
PM MAIL   Вверх
DimW
Дата 25.9.2008, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(seth @  25.9.2008,  09:46 Найти цитируемый пост)
где в той цитате хоть слово про Фаулера??? 

да ни где, просто попытался на глупое утверждение дать глутый ответ... ;)

Цитата(seth @  25.9.2008,  09:46 Найти цитируемый пост)
ПС спецом для вас выделил ключевые слова ;)

спасибо за заботу.


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


Опытный
**


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

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



Цитата

Цитата(Shurr @  24.9.2008,  20:07 Найти цитируемый пост)
Тем более, если эти заявления подтверждены только собственными измышлениями. 

да конечно собственными, чьими же еще! имея 5 летний опыт разработки под СУБД оракл, кому как не мне понимать что оракл для конкретной задачи бесполезен. но волнует меня именно то, что автор даже не удасужился спросить о целесообразности его использования в соответсвующей ветке форума. и то что ни кто не обратил его внимание на это.


имхо у каждого своя голова на плечах - захотел спросил захотел не спросил - темболее имхо ветка Оракла это не последняя инстанция ;)

Цитата


не знаю что конкретно вы имеете ввиду, но могу с уверенностью заявить, что самое узкое место любой системы это БД, вернее не грамотность в его использовании. конечно если текущую задачу "соц. сеть" развернуть на оракле и мега железе, то 99% проблем не возникнет, но вряд ли оно того стоит.

узким местом может быть что угодно - начиная от плохого канала, слабого железа, глючного сервера, глючной проги и заканчивая вашими любимыми СУБД smile

Добавлено через 1 минуту и 34 секунды
Цитата(DimW @ 25.9.2008,  09:58)
Цитата(seth @  25.9.2008,  09:46 Найти цитируемый пост)
где в той цитате хоть слово про Фаулера??? 

да ни где, просто попытался на глупое утверждение дать глутый ответ... ;)

Цитата(seth @  25.9.2008,  09:46 Найти цитируемый пост)
ПС спецом для вас выделил ключевые слова ;)

спасибо за заботу.

лучше б вы сказали чем глупое утверждение а не глупо отвечали ;)

ПС темболее в последующих постах можно найти схожие с моими мысли у других собеседников ;)


--------------------
PM MAIL   Вверх
powerOn
Дата 25.9.2008, 10:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(dEEp @  25.9.2008,  10:47 Найти цитируемый пост)
Наверное также говорил и Гейтс... 


Я не знаю, говорил ли так Гейтс. smile 

Цитата(DimW @  25.9.2008,  10:25 Найти цитируемый пост)
могу с уверенностью заявить, что самое узкое место любой системы это БД,


Это ну очень спорное заявление.  Ещё есть сериализация при сетевом обмене (например веб-сервисы), стратегии разграничения транзакции (уровни изоляции), конкурентное выполнение задач. Т.е. не только из одной БД системы состоят. Можно её (БД) затюнить "по самое не могу", но если веб-сервисы будут тормозить, то все старания пройдут даром.

Это сообщение отредактировал(а) powerOn - 25.9.2008, 10:11


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
DimW
Дата 25.9.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(seth @  25.9.2008,  09:59 Найти цитируемый пост)
темболее имхо ветка Оракла это не последняя инстанция ;)

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

Цитата(seth @  25.9.2008,  09:59 Найти цитируемый пост)
узким местом может быть что угодно

если бы вы хотябы попытались вникнуть в суть дела, а не выхватывали удобные для вас куски цитат, то поняли бы что я хочу довести до ващего сведения.

Цитата(seth @  25.9.2008,  09:59 Найти цитируемый пост)
и заканчивая вашими любимыми СУБД 

примите во внимание что я себя не позиционирую как спеца по всем СУБД, будьте внимательнее.

Цитата(seth @  25.9.2008,  09:59 Найти цитируемый пост)
темболее в последующих постах можно найти схожие с моими мысли у других собеседников ;) 

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

Цитата(powerOn @  25.9.2008,  10:10 Найти цитируемый пост)
Это ну очень спорное заявление

собственно мы и спорим. я вполне отдаю себе отчет что на оракле свет клином не сощелся, и что проблемы ПО это не только проблемы на стороне БД, но ведь проблема в том что все с азартом обсуждают какой генератор html выбрать, и не хотят посмотреть в глубь проблемы.
PM MAIL ICQ   Вверх
Shaggie
Дата 25.9.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

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



А насколько удобно использовать хранимые процедуры для реализации бизнес-логики при работе с распределёнными базами данных?


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
seth
Дата 25.9.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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




DimW  нечего демагогию разводить: есть что сказать - все во внимании

вот еще инфа
Сравнение Hibernate (ORM) vs JDBC


--------------------
PM MAIL   Вверх
Vasay
Дата 25.9.2008, 15:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 18
Всего: 73



Цитата(dEEp @  25.9.2008,  09:47 Найти цитируемый пост)
Цитата(powerOn @ 24.9.2008,  21:31)
Главная цель это как можно быстрее вывести рабочий продукт на рынок. Это бизнес.

Наверное также говорил и Гейтс... 


И стал самым богатым человеком в мире...


Что-то не о том вы спорите...

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

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

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

Технологии вторичны.

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

Если пойти немного дальше - выбор технологий должен учитывать наличие квалифицированных специалистов на рынке труда.



--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
CaligoSpiritus
Дата 25.9.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(DimW @  23.9.2008,  14:00 Найти цитируемый пост)
ссылка для автора топика, читать "Подход с использованием принципа черного ящика": http://www.citforum.ru/database/oracle/kyte/

Спасибо, обязательно посмотрю.

Vasay, для зарегистрированных, но вероятно, впоследствии будет добавлена поддержка openid и google authentication.
JSF мы пользоваться не будем, для AJAX скорее всего остановимся на применении jQuery. Те части сайта, которые должны будут индексироваться, будем делать с учётом SEO.

Цитата(seth @  22.9.2008,  16:16 Найти цитируемый пост)
а насчет самому писать запросы - так это много времени уйдет ;)

Честно говоря, с дизайном БД мы ещё не полностью определились, но думаю, что некоторая часть бизнес-логики, тесно связанная с информацией будет реализована на PL/SQL, для этого будем использовать инструменты Spring для работы с БД.

Цитата(seth @  22.9.2008,  16:16 Найти цитируемый пост)
а так посоветовал бы Flex как бэкэнд (ну или что то более экзотическое из РИА)

Видимо, Вы имели ввиду front end smile Мы хотим, чтобы пользовательский интерфейс был как можно проще и "легче", при этом очень важна межплатформенность и кросс-браузерность. Вместе эти требования отметают некоторое количество RIA фреймворков. Однако я не исключаю того, что с усложнением системы появятся элементы интерфейса, которые будет эффективнее реализовать на одном из RIA фреймворков.

Цитата(seth @  22.9.2008,  16:16 Найти цитируемый пост)
можно придумать что то более интересное

Дело вкуса - кому, что интереснее smile Скажу по секрету, что есть особенности, которые с большой вероятностью обеспечат и коммерческий успех именно этого проекта ;)

Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
к примеру автора топика совсем не заботит что оракл это версионник и ввиду этого обеспечивает большую маштабируемость

Напротив, это меня очень заботит - теперь, когда я узнал, что Oracle - это версионник. Хотя я ещё не знаю, что это значит, но обязательно выясню smile

Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
с учетом специфики задачи ......   все преимущества оракл летят в некуда, по моему гораздо аффективней использовать мускул и файловую систему для хранения фотографий

Я просто не все причины, побудившие сделать такой выбор, указал. Кроме того, я не говорил, что фотографии будут храниться в БД, я спросил совета - какой подход тут лучше и почему? Не уверен, что мускул справится с этой сетью, если проект удастся...

Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
складывается впечатление что выбор СУБД был сделан на основе того что он слышал что "оракл это хорошо"

Я, конечно, много раз слышал, что Oracle, это хорошо, но я не меньшее число раз слышал этот отзыв и о том же MySQL. Мой выбор обусловлен вовсе не этим, а тем, что я имею некоторый опыт работы с этой СУБД (хоть и не на высоком уровне, но кое-что понимаю), а так же наличием в команде человека, хорошо разбирающегося в PL/SQL. К тому же, как я уже писал выше в этом посте, часть бизнес-логики будет расположена именно в СУБД в виде пакетов процедур и функций.

Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
за то он очень озадачен выбором популярных технологий

Не популярных, а интересных. Те технологии, которые я обозначил интересны мне не потому что популярны, а потому что я почитал о них, в некоторые уже начал вникать поглубже и они мне понравились/заинтересовали. Хотя не спорю, что изначально обратил на них внимание вследствие популярности, иначе я бы просто не узнал о существовании некоторых из них.

Цитата(polosatij @  24.9.2008,  23:11 Найти цитируемый пост)
я задумываюсь для почти таких же целей взять вместо Hibernate, Ibatis

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

Цитата(Vasay @  25.9.2008,  16:21 Найти цитируемый пост)
Разрабатывая соц сеть, ГЛАВНОЕ, сделать ее интересной. 

Само собой, сначала мы обдумали этот вопрос, а потом уже принялись выбирать технологии smile

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

Вот сейчас и настала их вторая очередь - после того, как оформились идеи и концепции будущего проекта ;)

Цитата(DimW @  25.9.2008,  10:25 Найти цитируемый пост)
но волнует меня именно то, что автор даже не удасужился спросить о целесообразности его [Oracle] использования в соответсвующей ветке форума.

Не удосужился - это немного некорректно сказано. Просто выбор я уже сделал, основываясь на своём опыте и опыте своих друзей и знакомых. Но если Вы или кто-нибудь другой аргументированно объясните преимущества для данного проекта какой-либо другой СУБД или хотя бы недостатки Oracle, то свой выбор я изменю.

PS: Всем большое спасибо за дискуссию, читал с интересном и жду продолжения. Стараюсь, по мере сил, учесть все замечания и мнения.
PM WWW Skype GTalk   Вверх
serger
Дата 25.9.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(DimW @ 25.9.2008,  09:25)
Цитата(serger @  25.9.2008,  04:50 Найти цитируемый пост)
Посмотрел(подсмотрел) на Ваш профиль. Исходя из собственного опыта - проблема в мировозрении.
Просто взгляд на вещи с разных строн. "Кривые" зеркала. 

поясните плиз что за разные стороны о которых вы говорите и как они противоречат адекватности выбора технологий для конкретной задачи.

Я говорил лишь разве что о противоречиях человеческих предпочтений.. То что мы лучше всего знаем, то и "толкаем".
Всё это к теме не относится и все споры не о чём (всмысле они вне темы топика - если интересно - можно создать тему в более соответствующем разделе форума), но я думаю Вы почувствовали напряжённость сообщений.
Ну и напоследок.. База данных выбрана, как бы там ни было. А выбор технологии доступа к данным вообще не должен ставиться, нужно выбирать наиболее востребованные, технологичные и гибкие инструменты,  (Hibernate и(или) JPA). В конце концов база - это только хранилище данных, в контексте задачи, а гланое - веб-приложение (не думаю, что потребуется сильно навороченая схема данных), поэтому лучше изначально всё строить "правильно" как принято.

DimW, Том Кайт написал хорошую книгу для СВОЕГО круга, но это не Библия. Хотя на неё молятся. И база данных - это не панацея. Это и есть разные "мировозрения" - молящиеся на Тома и др., как-то перебивающиеся без него. Не нужно впадать в крайности. Если есть вопрос по оправданости использования ORM - я создам отдельную ветку, чтобы захватить его во всей широте !..  smile 
Обсуждение


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
seth
Дата 25.9.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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




Цитата

Цитата(seth @  22.9.2008,  16:16 Найти цитируемый пост)
а так посоветовал бы Flex как бэкэнд (ну или что то более экзотическое из РИА)

Видимо, Вы имели ввиду front end smile Мы хотим, чтобы пользовательский интерфейс был как можно проще и "легче", при этом очень важна межплатформенность и кросс-браузерность. Вместе эти требования отметают некоторое количество RIA фреймворков. Однако я не исключаю того, что с усложнением системы появятся элементы интерфейса, которые будет эффективнее реализовать на одном из RIA фреймворков.


сорри действительно фронт энд smile


Цитата

Цитата(seth @  22.9.2008,  16:16 Найти цитируемый пост)
можно придумать что то более интересное

Дело вкуса - кому, что интереснее smile Скажу по секрету, что есть особенности, которые с большой вероятностью обеспечат и коммерческий успех именно этого проекта ;)


ну это было мое маленькое имхо smile  если вам интересно то я только за smile

я вот тоже для фейсбука думаю приложение написать smile


Цитата


Цитата(DimW @  24.9.2008,  19:47 Найти цитируемый пост)
за то он очень озадачен выбором популярных технологий

Не популярных, а интересных. Те технологии, которые я обозначил интересны мне не потому что популярны, а потому что я почитал о них, в некоторые уже начал вникать поглубже и они мне понравились/заинтересовали. Хотя не спорю, что изначально обратил на них внимание вследствие популярности, иначе я бы просто не узнал о существовании некоторых из них.


вообще технология популярная ведь не потому что кто то сказал что это популярно и все подхватили - а скорее потому что она интересная или обладает некими существенными плюсами или отсутствием альтернатив ;)



--------------------
PM MAIL   Вверх
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   Вверх
serger
Дата 26.9.2008, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не множко рад, куда пошла тема - стало как-то добрее и меньше понтов, уж простите..
Просто БД всё-таки - это только часть системы, как бы она ни была важна, отсюда надо и плясать, и всё-таки не забывать основные принципы программирования и не пытаться объять необъятное..

Цитата

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

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

Цитата

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

Мне кажется банально: когда НУЖНО! те есть необходимость.

JDBC и ORM я не сравниваю, жаль если я не смог донести мысль..


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
serger
Дата 26.9.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(CaligoSpiritus @ 26.9.2008,  16:49)

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

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

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

Если у вас в команде есть хороший специалист по Oracle, то остаётся стать специалистом по JEE  smile  и всё будет  smile.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
CaligoSpiritus
Дата 26.9.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Знаете, DimW, можно сделать вывод, что у Вас проблемы с общением. Может быть, хватит обвинений в непрофессинализме, отсутсвии здравого смысла? Я говорил, что у меня есть опыт работы "с" Оракл, а не "в". И те небольшие приложения, в которых в одном месте делается  rollback, а в другом commit, я не могу назвать сколь-либо серьёзными, более того, в этих случаях можно было вообще обойтись без этого механизма. Серьёзная же система, использующая транзакции - совсем другое дело.
Цитата(DimW @  26.9.2008,  18:33 Найти цитируемый пост)
любое ПО написаное вами использующее СУБД оракл без таковых процессов работать не может

А если оно Read-only - только запрашивает информацию из БД?

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

Ключевые слова выделил. Вы сами допустили возможность, что он не оговорился, поэтому мне и интересно.

Цитата(serger @  26.9.2008,  20:24 Найти цитируемый пост)
Если у вас в команде есть хороший специалист по Oracle, то остаётся стать специалистом по JEE   smile   и всё будет   smile . 

Мы не спецы, мы пока только учимся  smile 
PM WWW Skype GTalk   Вверх
polosatij
Дата 26.9.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(CaligoSpiritus @  26.9.2008,  20:36 Найти цитируемый пост)
Мы не спецы, мы пока только учимся  smile  


возьмите то, что хотели.. даже, если ваш проект загнётся, каждый из вас получит опыт для "продолжения" жизни  smile опыт с Hibernate, Spring, Velocity, Oracle не могут не пригодится по определению  smile только пишите слоями -> например, логика и web-презентация вместе не допустимы. попытайтесь всё сразу распределять на "уровни" и будет вам счастье   smile трах-тибидох-тибидах  smile 

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



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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Цитата(polosatij @  26.9.2008,  18:01 Найти цитируемый пост)

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

Почему чужому дяде ? Почему не искусство ? Главное выбрать нужный подход. А при правильном подходе программирование для вас будет искусством - источником получения удовольствия , да ещё и приносящее вам бабло. smile

Цитата(serger @  26.9.2008,  18:49 Найти цитируемый пост)

Цитата
1. Идти от базы, считая приложение (отчасти) вторичным.
2. Идти от приложения, считая базу свалкой таблиц.
Это лишь говорит, что хорошо бы объединить два подхода(*), чтоб каждый, вмеру своих сил занимался своим делом )

Для этого в разработке ПО и существует этап проектирования. А перед этапом проектирование есть этап разработки Технического Задание. Так вот руководствоваться при выборе подхода надо на основе ТЗ . 
Так что идти надо от цели , а субд , (gui/web)приложение должны разрабатываться с тщательностью в равной степени.

Цитата(CaligoSpiritus @  26.9.2008,  20:36 Найти цитируемый пост)
Серьёзная же система, использующая транзакции - совсем другое дело.

транзакции - это первостепенная задача в вашем приложении?



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


Шустрый
*


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

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



polosatij, по поводу слоёв хорошо написано в документации по Spring, да и в множестве других источников, именно так мы и строим проект. Что до стиля - да здравствует Java и рекомендованный Sun стиль написания кода на ней ;)

Цитата(v2v @  27.9.2008,  00:01 Найти цитируемый пост)
транзакции - это первостепенная задача в вашем приложении?

Транзакции, это не задача, тем более, не первичная, - это средство.

Цитата(v2v @  27.9.2008,  00:01 Найти цитируемый пост)
Так что идти надо от цели , а субд , (gui/web)приложение должны разрабатываться с тщательностью в равной степени.

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

Это сообщение отредактировал(а) CaligoSpiritus - 26.9.2008, 23:20
PM WWW Skype GTalk   Вверх
v2v
Дата 26.9.2008, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)

Транзакции, это не задача  - это средство.

переозвучу фразу: 
"научиться работать с транзакциями в контексте текущего приложения" - не первичная задача? 
это риторический вопрос, мне кажется, на данном этапе не стоит этому уделять внимание.

Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)

Речь не о более или менее тщательной разработке какого-либо слоя, а о дизайне приложения. 

я тоже говорил о дизайне.
Цитата(v2v @  26.9.2008,  23:01 Найти цитируемый пост)
Так что идти надо от цели 

Или вы что то другое подразумевали под словом дизайн?

Это сообщение отредактировал(а) v2v - 26.9.2008, 23:44


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


Шустрый
*


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

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



Цитата(v2v @  27.9.2008,  00:01 Найти цитируемый пост)
а субд , (gui/web)приложение должны разрабатываться с тщательностью в равной степени.

Я об этом.
В общем, я с Вами согласен smile

Цитата(v2v @  27.9.2008,  00:43 Найти цитируемый пост)
мне кажется, на данном этапе не стоит этому уделять внимание.

Этому нельзя не уделять внимание, потому что многие операции соц. сети обязаны быть транзакционными. В этом проекте довольно большая часть логики, в том числе и транзакционной, будет в СУБД, но и на App. Server кое-что придётся. Именно поэтому меня заинтересовало, как инструменты ORM framework-ов могут помочь. Хотя, в принципе, транзакционный механизм неплохо реализован в Spring и никаких особых трудностей не предвидится, этот мой вопрос больше из любопытства.
PM WWW Skype GTalk   Вверх
polosatij
Дата 27.9.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(v2v @  26.9.2008,  23:01 Найти цитируемый пост)
Почему чужому дяде ? Почему не искусство ? Главное выбрать нужный подход. А при правильном подходе программирование для вас будет искусством - источником получения удовольствия 


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

Цитата(v2v @  26.9.2008,  23:01 Найти цитируемый пост)
да ещё и приносящее вам бабло. smile


серьёзна?

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

Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)
Что до стиля - да здравствует Java и рекомендованный Sun стиль написания кода на ней ;)


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


Это сообщение отредактировал(а) polosatij - 27.9.2008, 11:55


--------------------
PM   Вверх
v2v
Дата 27.9.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



Цитата(polosatij @  27.9.2008,  11:19 Найти цитируемый пост)

серьёзна?

мне не понятен сарказм.
Цитата(polosatij @  27.9.2008,  11:19 Найти цитируемый пост)

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

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

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

Цитата(polosatij @  27.9.2008,  11:19 Найти цитируемый пост)

1). моё бабло прямо пропорционально зависит от просиженных часов, т.к. оплата по часовая.

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

Это сообщение отредактировал(а) v2v - 27.9.2008, 12:07


--------------------
PM   Вверх
polosatij
Дата 27.9.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(v2v @  27.9.2008,  12:04 Найти цитируемый пост)
Но если это не так , тогда вам никто не мешает "резко поменять свою жизнь" , а для этого можно начать с изменения работы или хотя бы проекта, слава Богу, на программистов пока спрос есть ...


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


Цитата(v2v @  27.9.2008,  12:04 Найти цитируемый пост)
хотя, вижу ещё один вариант : если вам считают количество просиженных за компьютером часов,а не количество написанного кода, но вам никто не мешает часть из этих часов заниматься чем то интересным для себя smile.



я так и делаю  smile однако всё равно, сроки есть.. и по 14 часов в день в коде приходится копаться  smile 

Это сообщение отредактировал(а) polosatij - 27.9.2008, 12:16


--------------------
PM   Вверх
mbasil
Дата 27.9.2008, 15:56 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Когда я говорил об управлении транзакциями, я имел в виду обеспечение выполнения множества семантически связанных SQL операций, когда атомарные операции собраны в достаточно репрезентативную группу (право стыдно об этом говорить), а вовсе не написание команд COMMIT или ROLBACK, как это кое-кто подозревает и, упаси боже, вовсе не попытку как то изменить в этой части поведение СУБД. При этом я имел в виду не только наборы DML операций, но и транзакции на чтение.

Если речь идет о  DML операциях, при их выполнении более или менее сложной группой у вас есть два выхода:
1.    Вручную писать специализированные методы, которые будут выполнять группы операций INSERT, UPDATE, DELETE при этом вам приходится «плодить» горы исходного текста.  
2.    Попытаться написать универсальный механизм, а это означает попытку смоделировать мини ORM систему собственными силами.

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

Hibernate обкатана тысячами разработчиков за много лет. Пойдите и реализуйте своми руками автоматическое «лениевое» извлечение связанных объектов или кэш второго уровня.  То есть в случае мало-мальски сложной системы  у вас имеется альтернатива - либо писать и отлаживать много специализированного кода, либо писать свою ORM систему. Если она окажется лучше Hibernate, честно обещаю использовать ее в собственных разработках. Извините за многословность – не хочется выглядеть дураком, которым меня пытаются представить.
PM MAIL   Вверх
mbasil
Дата 27.9.2008, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

И Sun  и  Oracle окончательно сняли свои курсы по JDBC, которые раньше у них были. Сначала я посокрушался по этому поводу, а потом понял это симптом. 
PM MAIL   Вверх
Shaggie
Дата 28.9.2008, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

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



Цитата(DimW @  26.9.2008,  18:33 Найти цитируемый пост)
CaligoSpiritus, управление транзакциями СУБД обеспечивает самостоятельно, повлиять можно только на уровень изоляции настройкой на уровне СУБД.

Имеются в виду, очевидно, транзакции бизнес уровня, а не каждого отдельного SQL-запроса.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
mbasil
Дата 28.9.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Shaggie, так точно. Однако, согласитесь - в конечном итоге, транзакции бизнес уровня плавно перетекают в транзакции СУБД. 

Например, при использовании EJB вы можете в цепочке вызова методов, для каждого из методов описать открытие и, соответственно закрытие транзакции, однако в конечном итоге вся цепочка приводит к завершению или откату транзакции в контексте постоянства, а значит и в СУБД. С учётом возможности использования для каждого метода декларативной авторизации мы получаем довольно мощный инструмент. Хотя надо честно сказать для относительно простых приложений достаточно ORM. Однако при этом все остальное надо писать вручную.
PM MAIL   Вверх
mbasil
Дата 28.9.2008, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В том то и прелесть Java, что вы может выбирать оболочки как крупно гранулированные, типа ADF,(и получать снижение производительности), так и мелко гранулированные, и даже можете "выковыривать"  из оболочек только нужные вам части. Было время, я сам писал пул подключений к базе данных, который сносно работал, и даже сервлет-контроллер, а также свою библиотеку пользовательских тегов. Счастливое было время начала начал ! Тогда был смысл "стряпать" свой пул подключений. По сути я пытался "наваять" свою собственную оболочку. Когда же дело дошло до написания собственной универсальной мини ORM системы я сдался. Пытаться "переплюнуть", появившееся к тому времени сообщество разработчиков Hibernate малыми силами - для этого надо быть сумасшедшим.
PM MAIL   Вверх
goodday1941
Дата 29.9.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(dEEp @  22.9.2008,  15:22 Найти цитируемый пост)
Цитата(dEEp @ 22.9.2008,  12:38)
а насчет самому писать запросы - так это много времени уйдет ;)

Писать самому долго??? О_о Не сказал бы. Всё зависит от вашего уровня знаний. 


Лан, это уже offtopic идёт...


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

Это сообщение отредактировал(а) goodday1941 - 29.9.2008, 15:55


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
CaligoSpiritus
Дата 2.10.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем большое спасибо за дискуссию и советы.
Решил не менять решение об использовании Oracle (простите за каламбур). ORM Framework пока никакой юзать не буду, буду работать через спринговскую поддержку JDBC, если возникнет необходимость, наверное придется выбирать между Hibernate, Toplink и iBatis.
Front end буду делать с помощью jQuery с плагинами.
PM WWW Skype GTalk   Вверх
DimW
Дата 13.10.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(serger @  26.9.2008,  18:49 Найти цитируемый пост)
Это лишь говорит, что хорошо бы объединить два подхода, чтоб каждый, вмеру своих сил занимался своим делом )

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

Цитата(CaligoSpiritus @  26.9.2008,  20:36 Найти цитируемый пост)
А если оно Read-only - только запрашивает информацию из БД?

"оно" это что?

Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)
Транзакции, это не задача, тем более, не первичная, - это средство.

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

Цитата(Shaggie @  28.9.2008,  09:00 Найти цитируемый пост)
Имеются в виду, очевидно, транзакции бизнес уровня, а не каждого отдельного SQL-запроса.

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

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

Цитата(CaligoSpiritus @  2.10.2008,  15:04 Найти цитируемый пост)
Всем большое спасибо за дискуссию и советы.

Пожалуйста, самому было приятно "пободаться" smile вобще данная ветка достатачно демократична, спасибо что не запинали на первых топиках.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.2905 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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