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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите определиться с технологиями для проекта, Социальная сеть 
V
    Опции темы
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   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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