Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8   вперед  Ctrl      все
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3625
Kachalov
mayton
Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет.

- в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко
Ну вот если смотреть на хибер, то у него таки-много расширений JPA направленных на улучшение производительности, так что есть сомнения, что слезть "прооптимизированной" хиберовской модели будет просто.
25 июн 20, 11:39    [22157099]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Kachalov
hVostt
Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы.

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


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

Опять же. Если не проектировалось всё таким образом, что ORM не лезет дальше слоя доступа к данным ни в каком виде.


Kachalov
- нет, просто не обладают всей полнотой информации) Википедию пишут обычные люди, не всегда обладающие нужными экспертными знаниями. Скажите честно, до того как я написал абревиатуру JDOQL Вы про нее знали или вспоминали (это я не для того чтобы обидеть, а для примера)? Уверен что ни автор статьи, ни его читатели не участвовали в создании спецификации JPA и разработке Hibernate, именно по этому история темная. Или к примеру тот же Hibernate - ведь наверняка уверены, что до него ничего не было? В то время как TopLink был портирован на Java в 1998 со Smalltalk. Или также появившийся в начале 2000х Apache Cayenne. И т д. Идеи и настроения витали в воздухе, поэтому лично я утверждать что спецификацию JPA сделали именно на основе Hibernate не стал бы. Ниже интересная цитата из книги "Persistence in the Enterprise: A Guide to Persistence Technologies":


Не знал :) Но чему тогда верить? И зачем столько тьмы в простом вопросе?
25 июн 20, 15:16    [22157239]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5734
hVostt
Но чему тогда верить? И зачем столько тьмы в простом вопросе?

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

hVostt

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

Опять же. Если не проектировалось всё таким образом, что ORM не лезет дальше слоя доступа к данным ни в каком виде.

- зачем возлагать на ORM дополнительную логику? Данные должны быть отмаплены на БД и закэшены, там где можно - большего от ORM не требуется
25 июн 20, 17:03    [22157333]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5734
Андрей Панфилов
Ну вот если смотреть на хибер, то у него таки-много расширений JPA направленных на улучшение производительности, так что есть сомнения, что слезть "прооптимизированной" хиберовской модели будет просто.

- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)
25 июн 20, 17:06    [22157334]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Хибер хорош пока никто не пытается в context прогрузить всю базу
25 июн 20, 17:15    [22157347]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Zzz79
Member

Откуда:
Сообщений: 569
Kachalov
Андрей Панфилов
Ну вот если смотреть на хибер, то у него таки-много расширений JPA направленных на улучшение производительности, так что есть сомнения, что слезть "прооптимизированной" хиберовской модели будет просто.

- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)

вопрос в том зачем она тебе эта производительность?
что такое производительность в рамках облачных технологий и современных серверов ?

если только ты не пишешь новый гугол- тогда к чему все эти разговоры ?ваши 1000 запросов в день сейчас обработает даже утюг)

чем то навеяло антипатерн GAS FACTORY проецируемый на производиельность системы- важные архитекторы не очень важных проектов раздувая щеки сетуют на нехватку производительности)

уж на сколько у нас большой проект ,которым пользуется где то процентов 15% населения РФ и это мы на хибере сидим
а вам то куда с вашими цветочными магазинами с двумя посетилями в месяц)
25 июн 20, 22:42    [22157498]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Zzz79
Member

Откуда:
Сообщений: 569
mayton
Хибер хорош пока никто не пытается в context прогрузить всю базу

хибер хорош ) на этом можно остановиться

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

все эти проектировщик бд - по сути вымирающий вид- за них все делает хибер dll)
25 июн 20, 22:46    [22157500]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Zzz79
Kachalov
пропущено...

- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)

вопрос в том зачем она тебе эта производительность?
что такое производительность в рамках облачных технологий и современных серверов ?

Современные сервера с 2005 года то толком частоту свою уже не поднимают.
А что облаки? Они за счет распределенных данных могут скейлить только чтение.
Как только пошла запись или конкурирующая запись то эти облаки хуже монолита.

А SQL знать просто надо. Это как латынь среди врачей. Единый язык на котором
можно описывать данные. И создал его математик. Это ... не коллекции с аррейлистами
и не циклы крутить. А теория множеств.
25 июн 20, 23:03    [22157511]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Kachalov
hVostt
Но чему тогда верить? И зачем столько тьмы в простом вопросе?

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


Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего?

Kachalov
- зачем возлагать на ORM дополнительную логику? Данные должны быть отмаплены на БД и закэшены, там где можно - большего от ORM не требуется


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

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

Собственно такие проекты, как Hibernate пытались обобщить множество подобных решений под одной крышей. Поэтому ORM это давно не только маппинг. Обычно там и репо и UOW, и свой язык запросов, кеширование, отслеживание изменений, аудит, точки расширения и т.д.

Сообщение было отредактировано: 25 июн 20, 23:05
25 июн 20, 23:06    [22157514]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Zzz79
Member

Откуда:
Сообщений: 569
mayton
Zzz79
пропущено...

вопрос в том зачем она тебе эта производительность?
что такое производительность в рамках облачных технологий и современных серверов ?

Современные сервера с 2005 года то толком частоту свою уже не поднимают.
А что облаки? Они за счет распределенных данных могут скейлить только чтение.
Как только пошла запись или конкурирующая запись то эти облаки хуже монолита.

А SQL знать просто надо. Это как латынь среди врачей. Единый язык на котором
можно описывать данные. И создал его математик. Это ... не коллекции с аррейлистами
и не циклы крутить. А теория множеств.

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

сейчас твое заявление о sql выглядит как рогозинский батут)

отходите вы уже от этой бредятины


пс. я на работе почти месяц боролся за то ,что в 2020 году не нужно батчить файл размером 10000 строк
но так и не смог побороть олд скулеров,которые выросли на памяти в 128 кб) ты им просто тупо не можешь обьяснить,что сейчас у сервиса 16 гиг озу и ему твои буферы в 4 кб или 500 кб без разницы
25 июн 20, 23:12    [22157519]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Zzz79
Member

Откуда:
Сообщений: 569
и вообще конечно каждый прогер должен хотя бы немного отдуплять куда его приложение ставится

я вижу часто полное непонимание происходящего и постоянный оверхед в коде и конфигах

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

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

я говорю ему у нас определенный csv который имеет теоретически законченный размер( это список сотрудников компании)

тоесть может быть 10000 может 15000 но не будет 2млн сразу - хотя и это спокойно бы сервер скушал

вот вы такие все закостенелые там сидите и мешаете нам работать(
25 июн 20, 23:20    [22157522]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Zzz79

пс. я на работе почти месяц боролся за то ,что в 2020 году не нужно батчить файл размером 10000 строк
но так и не смог побороть олд скулеров,которые выросли на памяти в 128 кб) ты им просто тупо не можешь обьяснить,что сейчас у сервиса 16 гиг озу и ему твои буферы в 4 кб или 500 кб без разницы

А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал.
25 июн 20, 23:43    [22157530]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Zzz79
тоесть вот у меня на проде сервак 16 гиг -полностью выделен под мой сервис - какого хрена я должен юзать батч для отправки распарсенного csv- ну это же просто смешно

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


А вам повезло с лидом.
26 июн 20, 03:29    [22157554]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Zzz79
и вообще конечно каждый прогер должен хотя бы немного отдуплять куда его приложение ставится


Поэтому мы видим кучу версий каждой библиотеки вида:

версия под 8Гб оперативы
версия для 16Гб оперативы
...

версия для слабодумающих )
26 июн 20, 03:31    [22157555]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Мне кажется чрезмерное потребление памяти - просто признак другой проблемы. Например бизнес-сущности
дублируются в памяти. Каждый поток владеет независимой копией хотя по бизнесу - сущности уникальны.
Многие операции агрегации могут быть выполнены очень быстро и эффективно в БД (SQL) или BigData,
без перекачивания их на сторону App.

И долго не отрабатывают финализаторы. Данные уже вроде-бы не нужны но какие-то глобальные коллекции
их продолжают удерживать (типичный leak для java) и явной команды на освобождение никак не приходит.

Тоесть дело даже не в 16Гб а в том что если проблема системная то там хоть 32 и хоть 64 ставь она будет
с ростом бизнеса также безсмысленно потреблять все что есть.

Кстати для GC класса Parallel простое бездумное увеличение Xmx приводило к новой проблеме. К фризу потоков
которые обслуживали сетевые сокеты и как следствие появлялись новые сетевые ошибки еще более
сложные и комплексные чем просто OOM. Как реагирует G1GC на простое растягивание памяти - непонятно.
Возможно в меньшей степени но тем не менее фризы надо регулировать доп-параметрами.
26 июн 20, 09:20    [22157598]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Zzz79
Member

Откуда:
Сообщений: 569
mayton
Zzz79

пс. я на работе почти месяц боролся за то ,что в 2020 году не нужно батчить файл размером 10000 строк
но так и не смог побороть олд скулеров,которые выросли на памяти в 128 кб) ты им просто тупо не можешь обьяснить,что сейчас у сервиса 16 гиг озу и ему твои буферы в 4 кб или 500 кб без разницы

А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал.

он отправляет порциями файл- как еще
26 июн 20, 09:49    [22157613]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Zzz79
Member

Откуда:
Сообщений: 569
hVostt
Zzz79
тоесть вот у меня на проде сервак 16 гиг -полностью выделен под мой сервис - какого хрена я должен юзать батч для отправки распарсенного csv- ну это же просто смешно

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


А вам повезло с лидом.

лид у нас хороший,но вот с этой батч системой я в корне не согласен- в текущих реалиях это GAS FACTORY
26 июн 20, 09:50    [22157615]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,

>он отправляет порциями файл- как еще
Сишник наверно.
Они любят буфера, кеши, батчи.
Чтобы записать строку будут буфер под нее выделять и частями копировать.
26 июн 20, 10:25    [22157638]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5734
Zzz79
Kachalov
- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)

вопрос в том зачем она тебе эта производительность?
что такое производительность в рамках облачных технологий и современных серверов ?

если только ты не пишешь новый гугол- тогда к чему все эти разговоры ?ваши 1000 запросов в день сейчас обработает даже утюг)

чем то навеяло антипатерн GAS FACTORY проецируемый на производиельность системы- важные архитекторы не очень важных проектов раздувая щеки сетуют на нехватку производительности)

уж на сколько у нас большой проект ,которым пользуется где то процентов 15% населения РФ и это мы на хибере сидим
а вам то куда с вашими цветочными магазинами с двумя посетилями в месяц)

- какой то беспредметный наезд. Я работал в разных проектах (в том числе ... бла-бла-бла ... сейчас это ЕМИАС) и нативные запросы, необходимость их оптимизации и пятиэтажные джойны с позапросами - не редкость (и эффект на производительность бывает более чем существенным). Лично я не считаю что native sql -это правильный путь однако плевать на производительность даже PetShop глупо. Когда дебильный код работает у разраба на трех записях в базе - это не значит что он будет так же хорошо работать на нескольких миллионах записей на проде. В ЕМИАС, например, записей довольно много а скорость выполнения запроса (метода) это критический параметр который лимитируется, а вот кластеризация "утюга", к сожалению, не повышает скорость выполнения отдельных методов, что накладывает обязательства на архитектора и разработчика, так как тупым увеличением мощности железа вопрос не решается
26 июн 20, 10:26    [22157639]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5734
hVostt

Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего?

- Вы зачем то начали форсить тему "кто на ком стоял", я Вас поправил, что история более сложная чем это написал хз кто в википедии. Если для Вас это важно, можно дискутировать дальше, хотя мне этот вопрос кажется не существенным.
26 июн 20, 10:31    [22157641]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Kachalov
hVostt

Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего?

- Вы зачем то начали форсить тему "кто на ком стоял", я Вас поправил, что история более сложная чем это написал хз кто в википедии. Если для Вас это важно, можно дискутировать дальше, хотя мне этот вопрос кажется не существенным.


Hibernate was started in 2001 by Gavin King with colleagues from Cirrus Technologies as an alternative to using EJB2-style entity beans. The original goal was to offer better persistence capabilities than those offered by EJB2; by simplifying the complexities and supplementing certain missing features.

The final release date of the JPA 1.0 specification was 11 May 2006 as part of Java Community Process JSR 220. The JPA 2.0 specification was released 10 December 2009 (The Java EE 6 platform requires JPA 2.0.[1]) The JPA 2.1 specification was released 22 April 2013 (The Java EE 7 platform requires JPA 2.1.[2])

Я тему не с потолка взял. Написано и очевидно из истории. Зачем вы тут пытаетесь какое-то РенТВ включать, тёмная история бла-бла-бла, в чём смысл? :)
26 июн 20, 10:36    [22157645]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Zzz79
лид у нас хороший,но вот с этой батч системой я в корне не согласен- в текущих реалиях это GAS FACTORY


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

Это как на стройке, вы начинаете рассказывать, что на этом участке ничего на голову вам не упадёт, и зачем носить каску.

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

Сообщение было отредактировано: 26 июн 20, 10:36
26 июн 20, 10:38    [22157649]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
hVostt
Member

Откуда:
Сообщений: 17945
Kachalov
чем это написал хз кто в википедии


Вот это пренебрежительное отношение к вики никогда не понимал. Там вообще-то источники есть со ссылками. И типа никто из тысяч разработчиков не спохватился не бросил исправление. Ну-ну.
26 июн 20, 10:40    [22157654]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
mayton
Member

Откуда: loopback
Сообщений: 47969
Zzz79
mayton
пропущено...

А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал.

он отправляет порциями файл- как еще

Ну а для взаимодействия двух систем какая разнциа. 100 вставок по 1 строке. Или 1 вставка по 100 строк.

P.S. Большие раки по 5 рублей...
26 июн 20, 10:41    [22157655]     Ответить | Цитировать Сообщить модератору
 Re: Удаление записей соответствующих условию из БД в Hibernate  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
mayton
Zzz79
пропущено...

он отправляет порциями файл- как еще

Ну а для взаимодействия двух систем какая разнциа. 100 вставок по 1 строке. Или 1 вставка по 100 строк.

P.S. Большие раки по 5 рублей...

Снаружи никакой. А прогерам оверхед.
В ТЗ должно быть записано какой максимальный размера файл поддерживает код.
26 июн 20, 10:51    [22157664]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8   вперед  Ctrl      все
Все форумы / Java Ответить