powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate кто нибудь тестил когда оно помирает?
25 сообщений из 92, страница 2 из 4
hibernate кто нибудь тестил когда оно помирает?
    #39993399
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не нажимай сюда!
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993405
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,
>да. я могу конечно сам делать селект книги там с пагинацией или еще как. и по кускам апдейтить. вопрос собссно в этом и есть. можно ли положиться на хибер или ну его.

Иначе твой поинт в том что можно написать красиво, но.... можно ли положиться на либу ХХХХХ если натравить ее на миллирд.
Глупый вопрос?

да, можно ли натравить миллиард на либу и ожидать что она сама всю работу сделает. именно так.
ну и дурак. Нельзя.
Выше писал что прогер для сложных условий пишет другой код.
Либо потоки, либо пагинацю, либо кабель с подогревом, либо калоши на валенки.
Очевидные блин вещи.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993450
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Ну в спецификацию же вы первый начали морду лица тыкать, ну вот обратка пришла да, getResultList() плохой

- ну во первых не Вам (но если Вы решили что это и к Вам относится, это Ваша проблема), а во вторых, приведите из спецификации слова на основе которых Вы строите утверждение: getResultList() плохой

Андрей Панфилов
Нет, полноценный getResultStream() в хибере начиная с 5.3, а не с 6.0 - читайте release notes

- спасибо, интересно

Андрей Панфилов

Kachalov

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

- вижу Вы оскорбились тем что Ваши рассуждения о наркомании не были учтены как окончательное и бесповоротное решение проблемы ТС и продолжаете писать слова которые не решают никакой проблемы. И, да, теперь поясните зачем Вы тогда говорите про SERIALIZABLE, а то Вы куда то в строну "ключей сортировки" пошли (а тут тоже можно фантазировать, ведь не только Вы фантазер, может у ТС в записях ключ это число и оно не рандомное - бывает же такое). Если сортировка не указана то типичная РСУБД будет выдавать в порядке сортировки по ключу (в спецификции SQL-92 про это сказано "implementation-dependent")

Андрей Панфилов
Пагинация - отстой, подходит только для web.

- (вероятно Вы про JSR-352 не слышали) с удовольствием прочту что именно Вы посоветуете ТС (который как оказалось вообще хотел иного, но это не важно - тема то про SELECT), а то тоже хочется приобщиться к best practices
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993456
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

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

Дружище. Легче на поворотах.

Наверное если кратко - то нет нельзя. Нет такой либы (хибернейта) которому можно скормить
на вход бесконечное число data-rows/entities и надеяться что она будет себя хорошо
чувствовать.

У программиста (у любого) должна быть "чуйка" на оверхед по памяти. Операционка - хорошо
своё дело знает. Но наша задача - писать такой код который (в общей массе) не создает
проблем пользователю. За это нам и платят деньги. Если у "либы" есть своя специфика
(ей нужно указать в настройках allow_use_disk_for_temporary....e.t.c.) то ее можно
использовать со знанием дела. Тоесть обсудить с архитекторами. С бизнесом. Прогнать
бенчмарки. С памятью и с диском+памятью и посмотреть как оно работает внатуре.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993460
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

....
Тоесть обсудить с архитекторами. С бизнесом. Прогнать
бенчмарки. С памятью и с диском+памятью и посмотреть как оно работает внатуре.

Перед тем, как обсуждать, нужно разобраться с предметной областью и понять, какие же реально свойства у данных которые хотим обрабатывать. Если они настолько "странные" то или нет понимания предметной области, или кто-то "поработал" до нас (например тот же самый архитектор "поработал"/придумал такую нетрадиционную структуру)

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

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

А обсуждать с коллегами "хочу убится ап стену, как бы сделать так, что бы было не больно" - смысла нет.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993461
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, бизнес к тебе приходит и говорит. Леонид. У нас есть авторы у которых 200 млн. книг (попугаев/рыбок нужное
подчеркнуть).

И мы должны их где-то отрисовать. Далее - твой творческий подход. Я только в этом увидел поинт достойный
обсуждения.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993466
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Leonid Kudryavtsev, бизнес к тебе приходит и говорит. Леонид. У нас есть авторы у которых 200 млн. книг (попугаев/рыбок нужное
подчеркнуть).

И мы должны их где-то отрисовать. Далее - твой творческий подход. Я только в этом увидел поинт достойный
обсуждения.

"Приведите пожалйство пример данного автора (попугая, рыбки нужное подчеркнуть)
И выдайте пожалуйсто для тестирование то, на чем мы будем их отрисовывать"

Отчеты, где по требованию бухгалтерии на 800 страницах мелкими циферьками дофига всего печатается - видел. Что бы хоть кто нибудь их читал/проверял - не верю. Мало того, даже в папке/архиве всю эту макулатуру не хранят. Делают ксерокс только последнего листа с итогами )))

А 200 млн., это не 800 страниц, а намного больше. Ну или циферьки/буковки должы быть такие малюсенькие, малюсенькие...
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993468
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Leonid Kudryavtsev, бизнес к тебе приходит и говорит. Леонид. У нас есть авторы у которых 200 млн. книг (попугаев/рыбок нужное
подчеркнуть).

И мы должны их где-то отрисовать. Далее - твой творческий подход. Я только в этом увидел поинт достойный
обсуждения.
не пойдет это для обсуждения.
У тебя всего два слова из ТЗ - "где-то отрисовать".
И типа ты побежал код писать)
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993475
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спросите у автора. А примеров можно много придумать из физики и биологии.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993482
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFFTOPIC ON
mayton
... и биологии.

AFAIK слышал в ютубах ))), что геном человека содержит около 2 миллиардов нуклиотидов (одно из четырех оснований, т.е. 2 бита).

Реально значимо и используется чуть больше 7%

Т.е., весь геном человека по информационной ценности примерно от 50 до 500 мегабайт. А в данном форуме народ желает "вектор на триллион" ( С ) и ( TM ).
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993483
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Спросите у автора. А примеров можно много придумать из физики и биологии.
автор молчит. А в пятницу ТС'ов спящих можно ругать))))
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993485
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Кстати видел расшифровку генома распечатку. Показывали по телику. Все стены в фолиантах))
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993491
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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"?
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993530
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Вы понимаете что означает фраза "causing inconsistencies while iterating"?

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

Андрей Панфилов

Пагинация - отстой, подходит только для web
...
Странно... читать не хотите вы, а виноват в этом я..

- пока не увидел что надо читать? что именно лично Вы считает лучшим решением чем пагинация?
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993638
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я явой интересовался на уровне студента троечника. Но даже мне очевидно что
авторИначе твой поинт в том что можно написать красиво, но.... можно ли положиться на либу ХХХХХ если натравить ее на миллирд.
Это самый такой себе нехороший подход. У нас в провинциях в АСУ ТП всегда принято - или ты давай код или граничные условия, иначе сам за них отвечаешь, формально я тебе налабаю что попросишь. За то и берем деньги а не изучение очередного феншуя.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993640
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtop

Kachalov,
я Вас боюсь. Чувствуется уровень в терках по поводу формализации требований. С вами только на нашей поляне...
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993665
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АСУ ТПшник,
Выражайся яснее. Если ты не программист, то перевожу:
Для нетривиальных или сложных условий код пишется ДРУГОЙ чем под обычные условия.
То есть прогеры не пишут одинаково на миллиард и на 10 записей.
Исходя из этого глупо код на 10 записей нагрузить миллиардом и спросить: "умрет или нет?"
"Умозаключение — это форма абстрактного мышления, посредством которой из ранее имевшейся информации выводится новая."
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993668
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АСУ ТПшник,
Про граничные условия верно. В вузе учат что они есть всегда при постановке задачи.
Если их не ставят, значит хреновый постановщик и код неконтролируемый. Выкинет что угодно.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993741
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
andreykaT
пропущено...

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

Сделай ультра-современное решение в духе NoSQL.
- joins нет
- все - денормализовано и лежит в коллекциях
- все заранее отсортировано в репликах
- все реплицируется через CQRS

и полетит птицей твой автор с 200 мильонами книжек. А там глядишь ты и от хибернейта откажешься
ибо он - безсмысленен и ненужен для NoSQL.

Я - суръёзно!

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

я вот как то очень давно с ним оказывается не работал.. вопрос -- а он умеет читать скажем стримом, и если да то как там будет к базе запрос лететь? ну типа лейзи стрим.
и второй вопрос - а вообще для чего этот хибер нужен если на более-менее загруженных схемах он уже требует мягко говоря много внимания.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993751
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
делает селект всех его 200 мульонов книг и начинает их резать на батчи и закидывать назад в индекс.
для базы выбрать только нужное намного дешевле чем выгрузить всё.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993754
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
andreykaT
делает селект всех его 200 мульонов книг и начинает их резать на батчи и закидывать назад в индекс.
для базы выбрать только нужное намного дешевле чем выгрузить всё.

а нужно 200 миллионов.
ну значит я буду делать выборку кусками и кусками последовательно индексировать.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993766
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
а нужно 200 миллионов.
для чего нужно?
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993781
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
andreykaT
а нужно 200 миллионов.
для чего нужно?

для того чтоб проиндексировать в эластике эти 200 лямов сучностей
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993786
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

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

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

Я думаю что в Lucene можно по 1 документу обновлять. Я щас гляну есть ли там возможность делать upsert (update)
существующих документов. Я как-то уже делал. Но забыл как.
...
Рейтинг: 0 / 0
hibernate кто нибудь тестил когда оно помирает?
    #39993788
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в эластике есть всё готовое апи. и по батчам и по одному.
тут вопрос умеет ли это оптимально делать либа.

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

вопрос.. а что если пока я это делал сущность поменяли еще раз - получается что будет момент вне синка. а может вообще очередность нарушится и привет. значит версионирование и лишняя логика.
...
Рейтинг: 0 / 0
25 сообщений из 92, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate кто нибудь тестил когда оно помирает?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]