|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:44 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
andreykaT PetroNotC Sharp andreykaT, >да. я могу конечно сам делать селект книги там с пагинацией или еще как. и по кускам апдейтить. вопрос собссно в этом и есть. можно ли положиться на хибер или ну его. Иначе твой поинт в том что можно написать красиво, но.... можно ли положиться на либу ХХХХХ если натравить ее на миллирд. Глупый вопрос? да, можно ли натравить миллиард на либу и ожидать что она сама всю работу сделает. именно так. Выше писал что прогер для сложных условий пишет другой код. Либо потоки, либо пагинацю, либо кабель с подогревом, либо калоши на валенки. Очевидные блин вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:58 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Андрей Панфилов Ну в спецификацию же вы первый начали морду лица тыкать, ну вот обратка пришла да, getResultList() плохой - ну во первых не Вам (но если Вы решили что это и к Вам относится, это Ваша проблема), а во вторых, приведите из спецификации слова на основе которых Вы строите утверждение: getResultList() плохой Андрей Панфилов Нет, полноценный getResultStream() в хибере начиная с 5.3, а не с 6.0 - читайте release notes - спасибо, интересно Андрей Панфилов Kachalov В постановке задачи никто вставку данных в процессе чтения производить не собирается, речь идет только об их извлечении. - вижу Вы оскорбились тем что Ваши рассуждения о наркомании не были учтены как окончательное и бесповоротное решение проблемы ТС и продолжаете писать слова которые не решают никакой проблемы. И, да, теперь поясните зачем Вы тогда говорите про SERIALIZABLE, а то Вы куда то в строну "ключей сортировки" пошли (а тут тоже можно фантазировать, ведь не только Вы фантазер, может у ТС в записях ключ это число и оно не рандомное - бывает же такое). Если сортировка не указана то типичная РСУБД будет выдавать в порядке сортировки по ключу (в спецификции SQL-92 про это сказано "implementation-dependent") Андрей Панфилов Пагинация - отстой, подходит только для web. - (вероятно Вы про JSR-352 не слышали) с удовольствием прочту что именно Вы посоветуете ТС (который как оказалось вообще хотел иного, но это не важно - тема то про SELECT), а то тоже хочется приобщиться к best practices ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 14:16 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andreykaT пропущено... да, можно ли натравить миллиард на либу и ожидать что она сама всю работу сделает. именно так. Выше писал что прогер для сложных условий пишет другой код. Либо потоки, либо пагинацю, либо кабель с подогревом, либо калоши на валенки. Очевидные блин вещи. Дружище. Легче на поворотах. Наверное если кратко - то нет нельзя. Нет такой либы (хибернейта) которому можно скормить на вход бесконечное число data-rows/entities и надеяться что она будет себя хорошо чувствовать. У программиста (у любого) должна быть "чуйка" на оверхед по памяти. Операционка - хорошо своё дело знает. Но наша задача - писать такой код который (в общей массе) не создает проблем пользователю. За это нам и платят деньги. Если у "либы" есть своя специфика (ей нужно указать в настройках allow_use_disk_for_temporary....e.t.c.) то ее можно использовать со знанием дела. Тоесть обсудить с архитекторами. С бизнесом. Прогнать бенчмарки. С памятью и с диском+памятью и посмотреть как оно работает внатуре. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 14:25 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
mayton .... Тоесть обсудить с архитекторами. С бизнесом. Прогнать бенчмарки. С памятью и с диском+памятью и посмотреть как оно работает внатуре. Перед тем, как обсуждать, нужно разобраться с предметной областью и понять, какие же реально свойства у данных которые хотим обрабатывать. Если они настолько "странные" то или нет понимания предметной области, или кто-то "поработал" до нас (например тот же самый архитектор "поработал"/придумал такую нетрадиционную структуру) Большинство данных, которые сейчас обрабатывают компьютеры, лет 10-ть назад спокойно обрабатывал человек на листочке бумаги. Как-то же эти данные обрабатывали. Реально новых задач крайне мало. Формулируя заранее идиотскую задачу, сложно ожидать чего либо вменяемого. А обсуждать с коллегами "хочу убится ап стену, как бы сделать так, что бы было не больно" - смысла нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 14:32 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, бизнес к тебе приходит и говорит. Леонид. У нас есть авторы у которых 200 млн. книг (попугаев/рыбок нужное подчеркнуть). И мы должны их где-то отрисовать. Далее - твой творческий подход. Я только в этом увидел поинт достойный обсуждения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 14:35 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
mayton Leonid Kudryavtsev, бизнес к тебе приходит и говорит. Леонид. У нас есть авторы у которых 200 млн. книг (попугаев/рыбок нужное подчеркнуть). И мы должны их где-то отрисовать. Далее - твой творческий подход. Я только в этом увидел поинт достойный обсуждения. "Приведите пожалйство пример данного автора (попугая, рыбки нужное подчеркнуть) И выдайте пожалуйсто для тестирование то, на чем мы будем их отрисовывать" Отчеты, где по требованию бухгалтерии на 800 страницах мелкими циферьками дофига всего печатается - видел. Что бы хоть кто нибудь их читал/проверял - не верю. Мало того, даже в папке/архиве всю эту макулатуру не хранят. Делают ксерокс только последнего листа с итогами ))) А 200 млн., это не 800 страниц, а намного больше. Ну или циферьки/буковки должы быть такие малюсенькие, малюсенькие... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 14:59 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
mayton Leonid Kudryavtsev, бизнес к тебе приходит и говорит. Леонид. У нас есть авторы у которых 200 млн. книг (попугаев/рыбок нужное подчеркнуть). И мы должны их где-то отрисовать. Далее - твой творческий подход. Я только в этом увидел поинт достойный обсуждения. У тебя всего два слова из ТЗ - "где-то отрисовать". И типа ты побежал код писать) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 15:00 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Спросите у автора. А примеров можно много придумать из физики и биологии. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 15:12 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
OFFTOPIC ON mayton ... и биологии. AFAIK слышал в ютубах ))), что геном человека содержит около 2 миллиардов нуклиотидов (одно из четырех оснований, т.е. 2 бита). Реально значимо и используется чуть больше 7% Т.е., весь геном человека по информационной ценности примерно от 50 до 500 мегабайт. А в данном форуме народ желает "вектор на триллион" ( С ) и ( TM ). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 15:28 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
mayton Спросите у автора. А примеров можно много придумать из физики и биологии. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 15:29 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Кстати видел расшифровку генома распечатку. Показывали по телику. Все стены в фолиантах)) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 15:30 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Kachalov - (вероятно Вы про JSR-352 не слышали) с удовольствием прочту что именно Вы посоветуете ТС (который как оказалось вообще хотел иного, но это не важно - тема то про SELECT), а то тоже хочется приобщиться к best practices Странно... читать не хотите вы, а виноват в этом я... https://github.com/eclipse-ee4j/jpa-api/issues/99 Reading large datasets using JPA is quite uncomfortable these days as all method signatures return {{List}}s, which causes the entire result set to be pulled into memory before it can be handed to clients. Currently users work around this by paging through the results which sort of works but is error prone regarding inserts and deletes that might touch the same set of data to be read causing inconsistencies while iterating. It would be great if alternatives to access a Stream (on JDK 8) or an AutoCloseableIterable (on JDK 7) could be provided to lazily iterate over a result set, e.g. EntityManager.stream(…) analog to the find(…) methods as well as Query.getResultStream(). It might be worth thinking about being able to hand an eviction policy to those methods to define rules to evict managed types from the EntityManager as otherwise the persistence context will inevitably grow during the streaming operation. Вы понимаете что означает фраза "causing inconsistencies while iterating"? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 15:44 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Андрей Панфилов Вы понимаете что означает фраза "causing inconsistencies while iterating"? - конечно понимаю, это такие же "фантазии" которые и Вас посетили. Если у меня есть справочник который заполняется с помощью liquibase или flyway, то что в нем может изменится в процессе чтения? Могу читать его сто тысяч раз в день и ничего в нем не изменится, пока не выйдет новый релиз или специально обученные люди не проведут обновление справочника скриптом Андрей Панфилов Пагинация - отстой, подходит только для web ... Странно... читать не хотите вы, а виноват в этом я.. - пока не увидел что надо читать? что именно лично Вы считает лучшим решением чем пагинация? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 17:00 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
Я явой интересовался на уровне студента троечника. Но даже мне очевидно что авторИначе твой поинт в том что можно написать красиво, но.... можно ли положиться на либу ХХХХХ если натравить ее на миллирд. Это самый такой себе нехороший подход. У нас в провинциях в АСУ ТП всегда принято - или ты давай код или граничные условия, иначе сам за них отвечаешь, формально я тебе налабаю что попросишь. За то и берем деньги а не изучение очередного феншуя. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 20:08 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
offtop Kachalov, я Вас боюсь. Чувствуется уровень в терках по поводу формализации требований. С вами только на нашей поляне... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 20:13 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
АСУ ТПшник, Выражайся яснее. Если ты не программист, то перевожу: Для нетривиальных или сложных условий код пишется ДРУГОЙ чем под обычные условия. То есть прогеры не пишут одинаково на миллиард и на 10 записей. Исходя из этого глупо код на 10 записей нагрузить миллиардом и спросить: "умрет или нет?" "Умозаключение — это форма абстрактного мышления, посредством которой из ранее имевшейся информации выводится новая." ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 21:48 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
АСУ ТПшник, Про граничные условия верно. В вузе учат что они есть всегда при постановке задачи. Если их не ставят, значит хреновый постановщик и код неконтролируемый. Выкинет что угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 22:14 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
mayton andreykaT пропущено... да, можно ли натравить миллиард на либу и ожидать что она сама всю работу сделает. именно так. Сделай ультра-современное решение в духе NoSQL. - joins нет - все - денормализовано и лежит в коллекциях - все заранее отсортировано в репликах - все реплицируется через CQRS и полетит птицей твой автор с 200 мильонами книжек. А там глядишь ты и от хибернейта откажешься ибо он - безсмысленен и ненужен для NoSQL. Я - суръёзно! ээ. там 150 сервисов крутится вокруг баз в которой сотни мульонов всего. именно от этого и вылез эластик чтоб базу разгрузить в том числе поисковыми селектами. а я сижу репу чешу как это сделать работающим. кидаешь нового автора хибер делает селект всех его 200 мульонов книг и начинает их резать на батчи и закидывать назад в индекс. но режет только потом. вначале вычитывает все :) я вот как то очень давно с ним оказывается не работал.. вопрос -- а он умеет читать скажем стримом, и если да то как там будет к базе запрос лететь? ну типа лейзи стрим. и второй вопрос - а вообще для чего этот хибер нужен если на более-менее загруженных схемах он уже требует мягко говоря много внимания. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 12:24 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
andreykaT делает селект всех его 200 мульонов книг и начинает их резать на батчи и закидывать назад в индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 13:16 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
вадя andreykaT делает селект всех его 200 мульонов книг и начинает их резать на батчи и закидывать назад в индекс. а нужно 200 миллионов. ну значит я буду делать выборку кусками и кусками последовательно индексировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 13:28 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
andreykaT а нужно 200 миллионов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 15:02 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
вадя andreykaT а нужно 200 миллионов. для того чтоб проиндексировать в эластике эти 200 лямов сучностей ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 16:57 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
andreykaT ээ. там 150 сервисов крутится вокруг баз в которой сотни мульонов всего. именно от этого и вылез эластик чтоб базу разгрузить в том числе поисковыми селектами. а я сижу репу чешу как это сделать работающим. кидаешь нового автора хибер делает селект всех его 200 мульонов книг и начинает их резать на батчи и закидывать назад в индекс. но режет только потом. вначале вычитывает все :) я вот как то очень давно с ним оказывается не работал.. вопрос -- а он умеет читать скажем стримом, и если да то как там будет к базе запрос лететь? ну типа лейзи стрим. и второй вопрос - а вообще для чего этот хибер нужен если на более-менее загруженных схемах он уже требует мягко говоря много внимания. Я думаю что в Lucene можно по 1 документу обновлять. Я щас гляну есть ли там возможность делать upsert (update) существующих документов. Я как-то уже делал. Но забыл как. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 17:31 |
|
hibernate кто нибудь тестил когда оно помирает?
|
|||
---|---|---|---|
#18+
в эластике есть всё готовое апи. и по батчам и по одному. тут вопрос умеет ли это оптимально делать либа. пока я вижу проблему так: режем на слайсы, кидаем в кафку слайсы, консамеры это выцепляют по слайсу вычитывают из бд и перекладывают в индекс. или вообще без вычитки - батчи с сущностями в кафке и далее кусочками забрасываем. вопрос.. а что если пока я это делал сущность поменяли еще раз - получается что будет момент вне синка. а может вообще очередность нарушится и привет. значит версионирование и лишняя логика. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 17:39 |
|
|
start [/forum/topic.php?fid=59&msg=39993461&tid=2120694]: |
0ms |
get settings: |
26ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
513ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 949ms |
0 / 0 |