Size: a a a

pro.JVM Jobs Chat

2021 April 05

MB

M B in pro.JVM Jobs Chat
Alexandr Emelyanov
Ты загружаешь всю базу и фильтруешь в рантайм?)
Конечно, все что можно в базу отправлять то диапазон индекса, а индексов у тебя конечное и очень небольшое число
источник

MB

M B in pro.JVM Jobs Chat
Alexandr Emelyanov
Как раз таки известна, у тебя рядом миграции, которые накатывают на базу и получают схему, по которой генерится jooq биндинги
А если у тебя база шардирована и/или нужно делать online миграцию?
источник

D

Dima in pro.JVM Jobs Chat
M B
А если у тебя база шардирована и/или нужно делать online миграцию?
то жук может быть не очень
источник

AE

Alexandr Emelyanov in pro.JVM Jobs Chat
M B
А если у тебя база шардирована и/или нужно делать online миграцию?
Ну у тебя приложение в любом случае должно опираться на какую то схему, значит проблемы нет
источник

AE

Alexandr Emelyanov in pro.JVM Jobs Chat
M B
Конечно, все что можно в базу отправлять то диапазон индекса, а индексов у тебя конечное и очень небольшое число
Т.е. ты загрузишь 10 лямов записей что бы получить после фильтрации 10?)
источник

MB

M B in pro.JVM Jobs Chat
Alexandr Emelyanov
Ну у тебя приложение в любом случае должно опираться на какую то схему, значит проблемы нет
Ну может схемы две:)
источник

AE

Alexandr Emelyanov in pro.JVM Jobs Chat
M B
Ну может схемы две:)
Делаешь для двух
источник

MB

M B in pro.JVM Jobs Chat
Alexandr Emelyanov
Т.е. ты загрузишь 10 лямов записей что бы получить после фильтрации 10?)
А по другому как? На базу это возложишь? Если у тебя запрос фильтрует 10 млн записей ты делаешь что то не так.
источник

MB

M B in pro.JVM Jobs Chat
И даже в этом случае лучше это сделать на клиенте, меньше шансов убить дорогой cpu на базе
источник

AE

Alexandr Emelyanov in pro.JVM Jobs Chat
M B
А по другому как? На базу это возложишь? Если у тебя запрос фильтрует 10 млн записей ты делаешь что то не так.
1. База это сделает оптимальнее(по времени и памяти)
2. Если у тебя в таблице 10 лямов, то фильтр будет по этим 10 лямам, в чем вопрос?
источник

AE

Alexandr Emelyanov in pro.JVM Jobs Chat
M B
И даже в этом случае лучше это сделать на клиенте, меньше шансов убить дорогой cpu на базе
Ну и заодно убить cpu на приложении и пару терабайт оперативки)
источник

ДК

Дмитрий Куранов... in pro.JVM Jobs Chat
M B
И даже в этом случае лучше это сделать на клиенте, меньше шансов убить дорогой cpu на базе
эм... это про jvm все еще?
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in pro.JVM Jobs Chat
M B
И даже в этом случае лучше это сделать на клиенте, меньше шансов убить дорогой cpu на базе
В этом случае ЦПУ особо не грузится. Ну и да, если ты будешь фильтровать на клиенте, то забьешь сеть и диск
источник

MB

M B in pro.JVM Jobs Chat
Alexandr Emelyanov
1. База это сделает оптимальнее(по времени и памяти)
2. Если у тебя в таблице 10 лямов, то фильтр будет по этим 10 лямам, в чем вопрос?
База скейлмтся хуже чем stateless клиент, у клиента есть возможность убить запрос если он просканировал дофига записей и ничего не нашёл. Лучше чем убить базу
источник

MB

M B in pro.JVM Jobs Chat
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
В этом случае ЦПУ особо не грузится. Ну и да, если ты будешь фильтровать на клиенте, то забьешь сеть и диск
Неужели
источник

D

Dima in pro.JVM Jobs Chat
M B
И даже в этом случае лучше это сделать на клиенте, меньше шансов убить дорогой cpu на базе
в этом есть рациональное зерно
источник

D

Dima in pro.JVM Jobs Chat
но и 10 млн тянуть - тоже не варик
источник

A

Alexander in pro.JVM Jobs Chat
M B
База скейлмтся хуже чем stateless клиент, у клиента есть возможность убить запрос если он просканировал дофига записей и ничего не нашёл. Лучше чем убить базу
при грамотной настройке субд сама может тушить долгие запросы
источник

D

Dima in pro.JVM Jobs Chat
кильнешь клиента скорее всего
источник

D

Dima in pro.JVM Jobs Chat
мое скромное мнение, на таких объемах или в индекс не попали, или вообще не думали о поисках
источник