powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / акка или кафка?
192 сообщений из 192, показаны все 8 страниц
акка или кафка?
    #39978411
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такая задача. есть приложенька.
как обычно слева юзеры посередке бэк справа постгрес.
логика приложения проста - юзер приходит с данными, бэк по ним что-то там считает-собирает с разных источников - выдает ответ юзеру и параллельно сохраняет результат в базу если вдруг когда-нибудь юзер захочет эти данные пересмотреть.

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

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

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

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

итого я пока имею по одному плюсу для каждого подхода и по одному минусу:
+акка: она уже есть, минимум накладных расходов на рефакторинг.
-акка: без понятия как мониторить очередь или че там, без понятия как ее тротлить если база дохнет. без понятия как сбросить очередь куда-нибудь если сервис в ребут ушел (данные не особо критичные, но терять их не очнеь желательно все-равно)
+кафка: полноценная очередь, все смотрится мониторится, кучи настроек, ничего не теряется вроде как.
-кафка: надо тащить новый инструмент, надо делать рефак глубже. а на выходе все ее плюшки в противовес акки может и не понадобятся вовсе :)
...
Рейтинг: 0 / 0
акка или кафка?
    #39978422
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько инсертов в минуту?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978434
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Сколько инсертов в минуту?

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

сервис 1- общается с клиентом + бизнес логика

сервис 2 - общается с сервис 1 и бд

естественно сообщения между сервис1 и сервис 2 происходят по кафке ,которую ты можешь настроить так чтобы твоя база не падала например в пиковое время

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

это всё равботает до тех пор пока тебе клиенту скажем не надо вернуть айдиху сущности которую назначает база.

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

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

клиенту возможно нужен айди чтоб создать новую сущность которая имеет связь с ранее созданной и сохраненной.

ну так в чем проблема кидай в кэш и в бд пиши

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

600 в секунду и всё заваливается.

А там commit нужен через каждую вставку?

600 в секунду это не очень много. На tpc тестах 2010 года например oracle показывал 250 000 в секунду.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978492
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я хз. у меня в реальном трафике ж еще и селекты. селекты плюс инсерты инсерты где то треть. как обычно но там и парой тысяч не пахнет. железка неплохая. а ты про 250к говоришь.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978493
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
andreykaT,тоода включай батчинг

600 запросов разбивай по 40 грубо говоря вместо 600 инсертов получишь 15

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

Если ты просто хочешь внедрять, мать ее кафку или Акку - внедряй!

Но не надо подводить под это основание бедный Postgres который ни в чем не виноват.

Я тебя прошу
...
Рейтинг: 0 / 0
акка или кафка?
    #39978513
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
andreykaT
пропущено...

600 в секунду и всё заваливается.

А там commit нужен через каждую вставку?

600 в секунду это не очень много. На tpc тестах 2010 года например oracle показывал 250 000 в секунду.

А подробности про 250000 в секунду можно?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978517
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
mayton
пропущено...

А там commit нужен через каждую вставку?

600 в секунду это не очень много. На tpc тестах 2010 года например oracle показывал 250 000 в секунду.

А подробности про 250000 в секунду можно?


Кафка свободно держит, правда туда бабла немеряно было влито. Кластер стоял на сорока серверах.

Вот что пишет Амазон по этому поводу

авторThat's a three broker cluster with 1-2 CPU (depending on the cloud) and 4GB RAM per instance. On Amazon Web Services, this plan handled about 135,000 messages per second while the same plan on Google Cloud Platform and Azure handled around 70,000.

У меня есть даже статья в блоге как мы делали нагрузку
https://vyatkins.wordpress.com/2016/07/30/velociraptor/ к слову сказать статья довольно древняя.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978518
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
mayton
пропущено...

А там commit нужен через каждую вставку?

600 в секунду это не очень много. На tpc тестах 2010 года например oracle показывал 250 000 в секунду.

А подробности про 250000 в секунду можно?

Раньше я находил инфу о бенчмарках вот на этом ресурсе http://www.tpc.org/

К сожалению он сейчас в отключке и судьба его мне не известна.

Собственно чорт с ним. Мы можем найти любой другой бенчмарк транзакций в секунду
для трехзвенок где 2-3 звенья будут Java-Postgres или Java-ЛюбаяDBMS просто для сравнения.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978519
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что там за железо чтоб тащить 250ксек?
Майтон я все понимаю за постгрес но его потенциал роста вверх в моем случае исчерпан. Вот и чешу репу чтоб и два горошка скушать и на стул сесть
...
Рейтинг: 0 / 0
акка или кафка?
    #39978520
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С учетом, что автору нафиг не нужна транзакционность (он ее и так уже похерил), то ожидать пару десятков тысяч инсертов в секунду - нормально практически для любой БД. Разумеется blob'ы и записи >килобайта в расчет не берем )))
...
Рейтинг: 0 / 0
акка или кафка?
    #39978521
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergunka
SpringMan
пропущено...

А подробности про 250000 в секунду можно?


Кафка свободно держит, правда туда бабла немеряно было влито. Кластер стоял на сорока серверах.

Ну вот я могу поверить про кластер кафки или какой-нить касандры, которые держат 250000 в секунду. Вот с ораклом уже верится сложнее. В tpc бенчмарках видел цифры этих порядков. Но как я понимаю, там разговор про такое количество запросов в минуту и на серверах с 100+ ядер. Судя по 600 запросов в секунду, у andreykaT обычный сервак в районе SSD + 16 ядер
...
Рейтинг: 0 / 0
акка или кафка?
    #39978522
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. это, разумеется, если делать без всяких кафок, акк и прочих ненужных извращений
...
Рейтинг: 0 / 0
акка или кафка?
    #39978523
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT, я говорю сейчас своё ИМХО основываясь на твоём первом эмоциональном посте
в котором нет практически ничего об архитектуре системы. Что за операции ты делаешь.
Какой % select/dml там работает? Было ли кеширование? Были ли оптимизации? Что говорят
статистики по базе? Какой самый горячий запрос?

Хочешь кафку - да бери кафку. Ты просто сделаешь другую систему с другими свойствами
где будут возможно другие требования по ACID. Более ослабленные наподобие CQRS.
Без транзакций вообще. Или основываясь на слабом предположении о eventual consistency.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978524
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

где будут возможно другие требования по ACID

Где там ACID ? Если топик стартер собирался заказчику говорить, что все хорошо, а потом ассинхронно писать в БД.
ACID даже и не пахнет.
Я уж не говорю про "данные не особо критичные, но терять их не очнеь желательно все-равно"
...
Рейтинг: 0 / 0
акка или кафка?
    #39978526
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

Собственно чорт с ним. Мы можем найти любой другой бенчмарк транзакций в секунду
для трехзвенок где 2-3 звенья будут Java-Postgres или Java-ЛюбаяDBMS просто для сравнения.

Вот для postgres-а нашел
...
Рейтинг: 0 / 0
акка или кафка?
    #39978527
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Sergunka
пропущено...


Кафка свободно держит, правда туда бабла немеряно было влито. Кластер стоял на сорока серверах.

Ну вот я могу поверить про кластер кафки или какой-нить касандры, которые держат 250000 в секунду. Вот с ораклом уже верится сложнее. В tpc бенчмарках видел цифры этих порядков. Но как я понимаю, там разговор про такое количество запросов в минуту и на серверах с 100+ ядер. Судя по 600 запросов в секунду, у andreykaT обычный сервак в районе SSD + 16 ядер


На самом деле кассандра столько не потянет так как сложно угадать пиковую нагрузку там может обычно в разы пик пойти. Т.е. архитектура обычно (покрайне мере у нас на платформе) буфер имплементирован на кафке и за кафкой идет кассандра.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978530
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
mayton

Собственно чорт с ним. Мы можем найти любой другой бенчмарк транзакций в секунду
для трехзвенок где 2-3 звенья будут Java-Postgres или Java-ЛюбаяDBMS просто для сравнения.

Вот для postgres-а нашел

Примерно 450 000 tpm. На графике. Это транзакций в минуту.

Значит в секунду это будет 450 000 / 60 = 7500.

Но это достаточно эксклюзивная конфигурация. Там всё подстроено для симуляции этого теста.
На реальном приложении будет помедленнее. Особенно с неидеальной сетью.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978565
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
С учетом, что автору нафиг не нужна транзакционность (он ее и так уже похерил), то ожидать пару десятков тысяч инсертов в секунду - нормально практически для любой БД. Разумеется blob'ы и записи >килобайта в расчет не берем )))

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

по поводу конфиги. у меня бд не ссд (я хз что еще оказывается не ссд бывает но так девопсы сказали) 24 ядра хз сколько оперативки.
при озвучанных выше значениях начинает просто каждый последующий инсерт вставляться все дольше и дольше и так до 5-ти минут на простой инсерт!
...
Рейтинг: 0 / 0
акка или кафка?
    #39978567
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton

где будут возможно другие требования по ACID

Где там ACID ? Если топик стартер собирался заказчику говорить, что все хорошо, а потом ассинхронно писать в БД.
ACID даже и не пахнет.
Я уж не говорю про "данные не особо критичные, но терять их не очнеь желательно все-равно"

то что в кавычках - поясняю. если пропадет 1% данных - то это не будет страшно. если пропадет 50% данных - то это плохо.
асинхронно писать - потому что я не вижу особо выхода. либо вертикально скейлить бд, либо думать всякую фигню с репликами. либо переписывать код. всё.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978569
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka
SpringMan
пропущено...

Ну вот я могу поверить про кластер кафки или какой-нить касандры, которые держат 250000 в секунду. Вот с ораклом уже верится сложнее. В tpc бенчмарках видел цифры этих порядков. Но как я понимаю, там разговор про такое количество запросов в минуту и на серверах с 100+ ядер. Судя по 600 запросов в секунду, у andreykaT обычный сервак в районе SSD + 16 ядер


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

ну я по-сути хочу что-то такое же.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978620
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
далее, не понял, при чем тут транзакционность? и откуда выводы что я ее похерил? атомарные операции (по логике атомарные) у меня выполняются внутри транзакций. это вроде как очевидная вещь о которой говорить и не следует.


Ох темнота... ты "клиенту" отдал данные и сказал: "вот теперь ты к этим данным ты можешь обращаться" (хоть в тот же момент, хоть время спустя) - и ты этот "контракт" обязан соблюсти (как ты его собираешься соблюдать никого не интересует - можешь хоть несколько уровней сделать). Ты когда базе говоришь "ты давай в таблицы вставляй (insert) и мне результат давай (commit)" - это точно такой же контракт, но в отличии от твоей поделки здесь совершенно понятно что в базе происходит, т.е. мы точно знаем кто нам враг:
- конкуренция за блок таблицы
- конкуренция за блоки индексов
- частые коммиты

можешь врубить в постгресе asynchronous commit (пусть DBA поржут), а можешь конкуренцию уменьшить.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978625
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз, причем тут тразакционность? спасибо за лекцию про конкурентный доступ к шареным ресурсам. но я спросил про другое. повторяю вопрос - причем тут транзакционность? в контексте того что я ее "похерил". жду подробностей. где когда при каких обстоятельствах я ее похерил?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978627
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
еще раз, причем тут тразакционность? спасибо за лекцию про конкурентный доступ к шареным ресурсам. но я спросил про другое. повторяю вопрос - причем тут транзакционность? в контексте того что я ее "похерил". жду подробностей. где когда при каких обстоятельствах я ее похерил?
ты клиенту пообещал, а сам не записал - это значит что ты все просрал. Ничего не мешает клиенту сказать: ты тут секунду подожди, я еще от остальных данные подожду и все разом залью.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978637
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
еще раз, причем тут тразакционность? спасибо за лекцию про конкурентный доступ к шареным ресурсам. но я спросил про другое. повторяю вопрос - причем тут транзакционность? в контексте того что я ее "похерил". жду подробностей. где когда при каких обстоятельствах я ее похерил?
ты клиенту пообещал, а сам не записал - это значит что ты все просрал. Ничего не мешает клиенту сказать: ты тут секунду подожди, я еще от остальных данные подожду и все разом залью.

так я этого еще не сделал. я рассматриваю варианты. почему ты пишешь в прошедшем времени?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978641
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
так я этого еще не сделал. я рассматриваю варианты. почему ты пишешь в прошедшем времени?
потому что ты даже самые очевидные (ну там действительно код пописать нужно) варианты не рассматриваешь, а вместо этого уже решил какую-то дичь использовать.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978642
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
еще раз, причем тут тразакционность? спасибо за лекцию про конкурентный доступ к шареным ресурсам. но я спросил про другое. повторяю вопрос - причем тут транзакционность? в контексте того что я ее "похерил". жду подробностей. где когда при каких обстоятельствах я ее похерил?
ты клиенту пообещал, а сам не записал - это значит что ты все просрал. Ничего не мешает клиенту сказать: ты тут секунду подожди, я еще от остальных данные подожду и все разом залью.

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

какой код? там приложение простое как топор - получил данные обработал данные сохранил данные отдал клиенту результат обработки. вроде не рокетсаенз чтоб это рассматривать чем то фантастически нетривиальным.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978647
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
по твоей логике все эти акки кафки и прочее что не гарантирует доставку - фигня на постном масле и глупые выдумки. ничего кроме православной синхронки с гарантиями не существует.
Причем тут вообще гарантии доставки (в MQ это вообще означает что если интернет не работает, то пошлют голубиной почтой) и транзакционность? Ты клиенту ID дал, значит он может по нему обратиться (кафка в чистом виде тебе такого не позволит). ты погугли про все это: JMS, например, умеет в XA-транзакции участвовать (XA медленно, то что-то гарантирует), а у кафки есть менеджер транзакций, то там существенные послабления, кроме этого ни там ни там читать по PK нельзя. Хочешь чтобы все по чесноку было - пиши код.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978648
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Андрей Панфилов
пропущено...
потому что ты даже самые очевидные (ну там действительно код пописать нужно) варианты не рассматриваешь, а вместо этого уже решил какую-то дичь использовать.

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

Так это в топике и есть самое интересное. Или ты думаешь что простой "топор" всегда без ошибок написан?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978650
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
какой код? там приложение простое как топор - получил данные обработал данные сохранил данные отдал клиенту результат обработки. вроде не рокетсаенз чтоб это рассматривать чем то фантастически нетривиальным.
ну значит пиши код простой как топор: с одной стороны вставляем в очередь, ждем когда флаг с false на true сменится и отдаем клиенту, а с другой стороны выгребаем очередь (или сколько за секунду набъется), сливаем все в базу и выставляем флаг в true. Контракты соблюдены, в базе конкуренции нет.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978651
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
какой код? там приложение простое как топор - получил данные обработал данные сохранил данные отдал клиенту результат обработки. вроде не рокетсаенз чтоб это рассматривать чем то фантастически нетривиальным.
ну значит пиши код простой как топор: с одной стороны вставляем в очередь, ждем когда флаг с false на true сменится и отдаем клиенту, а с другой стороны выгребаем очередь (или сколько за секунду набъется), сливаем все в базу и выставляем флаг в true. Контракты соблюдены, в базе конкуренции нет.

клиенту ответ надо сразу отдавать. если можно подождать то зачем очередь. я так же могу подождать и ответа с базы. 3 минуты например :)
...
Рейтинг: 0 / 0
акка или кафка?
    #39978652
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
клиенту ответ надо сразу отдавать. если можно подождать то зачем очередь. я так же могу подождать и ответа с базы. 3 минуты например :)
"сразу" нигде не бывает, тем более в интернете, а если ты и три минуты можешь ждать, то зачем было топик заводить? Продолжай бомбить базу в 600 потоков и ныть что постгрес не справляется (а здесь никакая база и 50 не выдержит вне зависимости от "железа")
...
Рейтинг: 0 / 0
акка или кафка?
    #39978653
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
andreykaT
пропущено...

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

Так это в топике и есть самое интересное. Или ты думаешь что простой "топор" всегда без ошибок написан?

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

Так это в топике и есть самое интересное. Или ты думаешь что простой "топор" всегда без ошибок написан?

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

Ну ты блин даёшь! Может один create index... решит твою проблему еще лет на 10 с запасом для твоей системы.

Ты даже и не попробовал? Хотя-бы в форум Postgres задавал вопрос по перформансу?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978656
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это мой предыдущий шаг перед тем что я выше сказал. если не поможет. а скорее всего не поможет.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978658
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой самый горячий DML у тебя? Insert? Update? Щас я напишу HelloFuckenWorld приложение которое просто
делает обновления для локальной таблички PG и замеряю показатели.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978661
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть требование по времени отклика для клиента?

Проблема кажется сильно надуманной. Взяли запросы на вставку, сбатчивали (от слова batch), параллельно храним ID клиента (или поток, или AKA актор) которому нужно ответить, батч вставили в базу, если успешно - отослали всем клиентам подтверждение.

Если клиент может подождать 0.2-0.5 секунды, лично я проблемы вообще не вижу. Всего-то добавляется два потока: один на таймере (например раз в 1/5-1/10 секунды), второй данные скидывает в базу и отсылает подтверждение.

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

PostgreSQL на любом офисном компьютере пару тысяч/десятков тысяч вставок в секунду вполне осилить может, если уметь его готовить

IMHO & AFAIK
...
Рейтинг: 0 / 0
акка или кафка?
    #39978662
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Проблема кажется сильно надуманной. Взяли запросы на вставку, сбатчивали (от слова batch), параллельно храним ID клиента (или поток, или AKA актор) которому нужно ответить, батч вставили в базу, если успешно - отослали всем клиентам подтверждение.
тут же код писать нужно, а чтобы в кафку слить мусор и контракт не соблюсти - код писать уже не нужно.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978692
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он хочет перенести весь биллинг в аппликейшен. Опасная штука IMHO. У сырого апликейшена нет гарантий
во Durability. Что Андрейка будет делать после перегрузки по Power? Или он возложет эту задачу на серверы
JMS/MQ. Но у них тоже нет этих гарантий. Вернее они слабые. Слабее чем у DBMS.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978693
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
клиенту ответ надо сразу отдавать. если можно подождать то зачем очередь. я так же могу подождать и ответа с базы. 3 минуты например :)
"сразу" нигде не бывает, тем более в интернете, а если ты и три минуты можешь ждать, то зачем было топик заводить? Продолжай бомбить базу в 600 потоков и ныть что постгрес не справляется (а здесь никакая база и 50 не выдержит вне зависимости от "железа")

Выше вон говорят 250 тыщ норм и 600 - ниачем.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978695
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы посчитал теоретическую расчетную скорость транзакций для 100Мб и 1Гб сети
при условии что наша каждая транзакция - это RPC (roundtrip сетевого пакета туда и обратно).

Кто-то делал такие расчеты, господа?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978706
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Выше вон говорят 250 тыщ норм и 600 - ниачем.
ну ты больше слушай что говорят Если брать лидера в RDBMS (а не второй дивизион как у тебя - там народ вообще особо упорот на почве чистоты кода, поэтому ожидать чего-то сверхъестественного не стоит), то чтобы базе соблюсти вышеописанный контракт, ей нужно сделать вот что:
oracleWhen a transaction commits, the following actions occur:
- The database generates an SCN for the COMMIT. The internal transaction table for the associated undo tablespace records that the transaction has committed. The corresponding unique SCN of the transaction is assigned and recorded in the transaction table. See "Serializable Isolation Level".
- The log writer process (LGWR) process writes remaining redo log entries in the redo log buffers to the online redo log and writes the transaction SCN to the online redo log. This atomic event constitutes the commit of the transaction .
- Oracle Database releases locks held on rows and tables. Users who were enqueued waiting on locks held by the uncommitted transaction are allowed to proceed with their work.
- Oracle Database deletes savepoints.
- Oracle Database performs a commit cleanout. If modified blocks containing data from the committed transaction are still in the SGA, and if no other session is modifying them, then the database removes lock-related transaction information (the ITL entry) from the blocks.
- Oracle Database marks the transaction complete.


Вот если забить болт на то что у тебя 600 потоков вызывают бешеную конкуренцию (смотри видосик кстати про конкуренцию:

YouTube Video
...
Рейтинг: 0 / 0
акка или кафка?
    #39978730
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как мне батчи формировать. К меня может быть как 0-1 запрос в секунду так и 600 запросов. Придумывать костыли типа если вот сколько ол времени новых данных нет то скидываем то что есть и прочее уныние. Не. Да и особо не помню дикого прироста с переходом на батчинг кода это делал давно да вставлять стало быстрее но чуда не произошло.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978731
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Какой самый горячий DML у тебя? Insert? Update? Щас я напишу HelloFuckenWorld приложение которое просто
делает обновления для локальной таблички PG и замеряю показатели.

Апдейтов практически нет. Инсерты онли.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978736
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaT
Как мне батчи формировать. К меня может быть как 0-1 запрос в секунду так и 600 запросов. Придумывать костыли типа если вот сколько ол времени новых данных нет то скидываем то что есть и прочее уныние. Не. Да и особо не помню дикого прироста с переходом на батчинг кода это делал давно да вставлять стало быстрее но чуда не произошло.

У postgres-а есть еще COPY. Если за раз вставляется много записей, то с ним чудо может произойти. Если будет выбрано решение с кафкой, то ничего не мешает батчить/copy в базу и в нем
...
Рейтинг: 0 / 0
акка или кафка?
    #39978748
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Он хочет перенести весь биллинг в аппликейшен. Опасная штука IMHO. У сырого апликейшена нет гарантий
во Durability. Что Андрейка будет делать после перегрузки по Power? Или он возложет эту задачу на серверы
JMS/MQ. Но у них тоже нет этих гарантий. Вернее они слабые. Слабее чем у DBMS.

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

Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро.

Плюс опять же. Мне надо будет из батча вытряхнуть все новые айди записей раздать их всем ожидающим по каким то там признакам причем я не уверен что батчи это умеют. Эээ да харош))
...
Рейтинг: 0 / 0
акка или кафка?
    #39978776
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Мне надо будет из батча вытряхнуть все новые айди записей
чтобы вытянуть id - надо получать id после каждого инсерта, иначе получишь id только последней вставки.
если делать "стандартно" это два обращения к базе - инсерт и селект
через одно обращение - это только хранимка.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978778
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро.
Нужно картинку с капитаном Пикардом прикладывать....

Если лить батчами, то в сравнении с твоими 600 вставками в секунду, throughput возрастет не на 20%, а на пару порядков (десятичных) + в базе лишней конкуренции не будет и оно сможет заниматься более нужными делами. Заниматься онанизмом с выяснением того что вставилось тоже не нужно: достаточно идентификаторы заранее генерить (ну там UUID или иметь пул идентификаторов из последовательности)
...
Рейтинг: 0 / 0
акка или кафка?
    #39978783
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
чтобы вытянуть id - надо получать id после каждого инсерта, иначе получишь id только последней вставки.
если делать "стандартно" это два обращения к базе - инсерт и селект
через одно обращение - это только хранимка.
Это в какой БД так? в MySQL?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
postgres=> create table t (id serial not null, x varchar not null);
CREATE TABLE
postgres=> insert into t (x) values ('a'),('b'),('c') returning id, x;
 id | x 
----+---
  1 | a
  2 | b
  3 | c
(3 rows)

INSERT 0 3
...
Рейтинг: 0 / 0
акка или кафка?
    #39978798
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
в MySQL?

да и в mssql

и что в итоге?
только последний id
...
Рейтинг: 0 / 0
акка или кафка?
    #39978804
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро.
Нужно картинку с капитаном Пикардом прикладывать....

Если лить батчами, то в сравнении с твоими 600 вставками в секунду, throughput возрастет не на 20%, а на пару порядков (десятичных) + в базе лишней конкуренции не будет и оно сможет заниматься более нужными делами. Заниматься онанизмом с выяснением того что вставилось тоже не нужно: достаточно идентификаторы заранее генерить (ну там UUID или иметь пул идентификаторов из последовательности)

Да. По ууид это единственное тут решение. Отвязываемся от базы и спим спокойно.
Насчет батчинга. Еще раз. Я не файл ксв в базу импортирую. Я с живым и непредсказуемым трафиком работаю.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978805
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4
...
Рейтинг: 0 / 0
акка или кафка?
    #39978806
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
По ууид это единственное тут решение
но выборка по нему будет тормознутая, это всё-таки не bigint.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978807
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Где результат одного это данные (ФК) для другого.
т.е. вставка по 1 записи
...
Рейтинг: 0 / 0
акка или кафка?
    #39978811
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя

да и в mssql

и что в итоге?
только последний id
Вадя, а ты хотябы спецификацию читал?

JDBC 4.1 Specification The method Statement.getGeneratedKeys,
which can be called to retrieve the generated value, returns a ResultSet object with
a column for each automatically generated value
. The methods execute,
executeUpdate or Connection.prepareStatement accept an optional
parameter, which can be used to indicate that any auto generated values should be
returned when the statement is executed or prepared.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978812
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4
ну вместо одной вставки нужно аж две, поэтому все ломается
...
Рейтинг: 0 / 0
акка или кафка?
    #39978815
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,

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

Это проблемы пацанов, у которых всё в бд. У них база не возвращает никаких id.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978821
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
а зачем клиенту в реал тайме id сущности?

Понятно. Не можем == не нужно. Классика
...
Рейтинг: 0 / 0
акка или кафка?
    #39978824
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
все решение в одной строчке конфига

Как, у вас, говнокодеров, всё просто.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978825
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Понятно. Не можем == не нужно. Классика
!!!
...
Рейтинг: 0 / 0
акка или кафка?
    #39978828
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Не помогут тебе кафки. Всё прётся в базу, рано или поздно она опять ляжет по этой или другой причине. Можно накачивать твою бд стероидами, но ты уже понял, что проще придумать что-то, чтобы этого не делать.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978878
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Придумывать костыли типа если вот сколько ол времени новых данных нет то скидываем то что есть и прочее уныние.

Особой костыльности не вижу. В чем уныние тем более не понимаю.

Не, ну можно конечно взять каффка, акка, какую нибудь NoSQL и радоваться (заниматься сексом) с ними полгодика, а то и год.... молодежно и "весело задорно" ( C )

IMHO

andreykaT

Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро.

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

Если 600 записей накапливать в буффере и скидывать в PostgreSQL раз в 0.1 sec, а то и раз в 0.2 sec. То это получается "батч" размером в 50-100 записей

Тут уже не 20% прирост, а думаю вполне можно ожидать прирост раз в 10.

Но опять таки, зависит от прямоты рук, структуры таблиц (индексы) и прочего.

Повторюсь, несколько тысяч/десятков тысяч "простых" insert'ов в секунду почти любая СУБД выдержит на обычном офисном HDD.

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


Не совсем правда. Например в Oracle, батч-insert так же умеет делать и батч-returing. В PostgreSQL не уверен.

Но написать хранимку, мне кажется это "не бином ньютона" и не обменять трехкомнатную квартиру на Земляном валу на 6 комнат, правда, рассеянных в полном беспорядке по всей Москве и при этом без использования пятого измерения ))
...
Рейтинг: 0 / 0
акка или кафка?
    #39978879
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4

Я шизею дорогая редакция.

И как это соотносится с начальным постом:
Тот-же-авторлогика приложения проста - юзер приходит с данными, бэк по ним что-то там считает-собирает с разных источников - выдает ответ юзеру и параллельно сохраняет результат в базу если вдруг когда-нибудь юзер захочет эти данные пересмотреть.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978885
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть подозрение, что проблема не в базе, а в hibernate головного мозга,
на фоне прогрессирующих акка и каффка симптомов
...
Рейтинг: 0 / 0
акка или кафка?
    #39978887
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже не понимаю смысла вопроса.
Если нагрузка на систему вырастатет, то сюрприз! надо ее переписывать. Как показывает практика если разница в объемах обработки увеличивается на порядок, то прежние архитектурные принципы уже не подходят, и их надо пересматривать.
Что у тебя за приложение и что оно делает совершенно непонятно, поэтому это тебе лучше знать. Что можно точно сказать - то все эти, вот тут подкрутим, там добавим, поменяем технологию, но не будем трогать основную логику - это развод для лохов, оно так не работает.
Можно ли построить систему на кафка и акка? Можно. Будет ли она лучше чем существующая? Да хз, смотря что надо.
Вообще по скупому описанию я бы смотрел в сторону CQRS и возможно двумя хранилищами, одно оптимизированное на инсерт, второе на селект. Но опять же непонятны условия fault tolerance, resilence, availability и eventual consistency, а без всего этого - как пальцем в небо
...
Рейтинг: 0 / 0
акка или кафка?
    #39978899
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Есть подозрение, что проблема не в базе, а в hibernate головного мозга,
на фоне прогрессирующих акка и каффка симптомов

Приложение на слике
...
Рейтинг: 0 / 0
акка или кафка?
    #39978945
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Who is слик ?
...
Рейтинг: 0 / 0
акка или кафка?
    #39978964
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Я тоже не понимаю смысла вопроса.
Если нагрузка на систему вырастатет, то сюрприз! надо ее переписывать. Как показывает практика если разница в объемах обработки увеличивается на порядок, то прежние архитектурные принципы уже не подходят, и их надо пересматривать.
Что у тебя за приложение и что оно делает совершенно непонятно, поэтому это тебе лучше знать. Что можно точно сказать - то все эти, вот тут подкрутим, там добавим, поменяем технологию, но не будем трогать основную логику - это развод для лохов, оно так не работает.
Можно ли построить систему на кафка и акка? Можно. Будет ли она лучше чем существующая? Да хз, смотря что надо.
Вообще по скупому описанию я бы смотрел в сторону CQRS и возможно двумя хранилищами, одно оптимизированное на инсерт, второе на селект. Но опять же непонятны условия fault tolerance, resilence, availability и eventual consistency, а без всего этого - как пальцем в небо

+1 к CQRS.

Но это надо обсуждать а уровне бизнес-постановки. Требования - сильно поменяются.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978977
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Who is слик ?
Functional Relational Mapping for Scala
...
Рейтинг: 0 / 0
акка или кафка?
    #39978987
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Если 600 записей накапливать в буффере и скидывать в PostgreSQL раз в 0.1 sec, а то и раз в 0.2 sec. То это получается "батч" размером в 50-100 записей

О батче не говорил разве что ленивый. Но надо просто посмотреть что для системы такое провисание бизнес-операции
в пачке не приведет к неконсистентной логике со стороны БД которая может уже запросить сведенья по операции
(баланс посмотреть). Такое вполне возможно если представить что есть другая система которая ходит в БД но о батчах
ничего не знает ИЛИ часть ЭТОЙ системы которая еще не была адаптирована.

Вобщем мы в топике заняты любимым нашим делом. Придумыванием новых требований.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978988
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
andreykaT
Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4

Я шизею дорогая редакция.

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

логика действительно проста. просто автор сего приложения на каком то этапе решил что данные надо сохранять в нескольких таблицах а не одной. поэтому да. для некоторых наборов данных кидаем всё в 2 таблицы для других в 3-4 таблицы. так сложилось. исторически. в смысле логики приложение никсколько не усложняется от этого. можно было бы в одну таблицу всё кидать. просто полей было бы много. или вообще монгу ибо реляций чуть больше 1й.
...
Рейтинг: 0 / 0
акка или кафка?
    #39978990
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
забыл ник
Я тоже не понимаю смысла вопроса.
Если нагрузка на систему вырастатет, то сюрприз! надо ее переписывать. Как показывает практика если разница в объемах обработки увеличивается на порядок, то прежние архитектурные принципы уже не подходят, и их надо пересматривать.
Что у тебя за приложение и что оно делает совершенно непонятно, поэтому это тебе лучше знать. Что можно точно сказать - то все эти, вот тут подкрутим, там добавим, поменяем технологию, но не будем трогать основную логику - это развод для лохов, оно так не работает.
Можно ли построить систему на кафка и акка? Можно. Будет ли она лучше чем существующая? Да хз, смотря что надо.
Вообще по скупому описанию я бы смотрел в сторону CQRS и возможно двумя хранилищами, одно оптимизированное на инсерт, второе на селект. Но опять же непонятны условия fault tolerance, resilence, availability и eventual consistency, а без всего этого - как пальцем в небо

+1 к CQRS.

Но это надо обсуждать а уровне бизнес-постановки. Требования - сильно поменяются.

тоже склоняюсь к этому. и да. это требует пересмотреть ээээ требования.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979017
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

О батче не говорил разве что ленивый. Но надо просто посмотреть что для системы такое провисание бизнес-операции
в пачке не приведет к неконсистентной логике со стороны БД которая может уже запросить сведенья по операции
(баланс посмотреть). Такое вполне возможно если представить что есть другая система которая ходит в БД но о батчах
ничего не знает ИЛИ часть ЭТОЙ системы которая еще не была адаптирована

Откуда может взяться неконсистентность со стороны БД ?

Или весь батч накатился, или весь батч откатился. До COMMIT'а данные все равно никто не увидит. Или увидят старый баланс или увидят новый баланс с учетом всего батча.

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

Единственное, что не устраивает, скорость записи постгрескл, что и не удевительно. Т.к. 1-3 инсерта в отдельных транзакциях x 600 паралельных потоков - это мусор и помойка, а не нормальный потом данных для обработки СУБД. Написать на входе мультиплексор и системе явно должно получшеть на порядки (хотя х.з. как там сейчас работа с СУБД устроена). Подобные системы видел и сам делал.

Цифра 600 одновременных соединений в секунду - много
600 insert'ов - для практически любой СУБД на офисном железе, не много
600 сообщений/синхронизаций - для приложения на Java, вообще ничтожно мало. Как я сказал, даже раздумывать над типом коллекции смысла нет. ArrayList и synchronized

C кафка не сталкивался. Но подозреваю, все что сделает кафка в исполнении той же команды разработчиков, это из мусора сделает еще больше мусора, но в кластере ))) Но еще, конечно, принесет: экспиренс, запись в резюме и много удовольствия
...
Рейтинг: 0 / 0
акка или кафка?
    #39979036
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто сказал про 600 соединений в секунду? кто сказал про 600 параллельных потоков? точно я?
я сказал про 600 инсертов в секунду.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979046
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А сколько потоков пишут в базу? И сразу следующей вопрос: а точно ли это база загибается, а не просто на уровне приложения идет ожидание?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979059
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
кто сказал про 600 соединений в секунду? кто сказал про 600 параллельных потоков? точно я?
я сказал про 600 инсертов в секунду.
А кто же еще? у тебя в начальном посте написано: пользователи как хотят, так и бомбят базу, в среднем (сейчас) получается 600 вставок/коммитов в секунду и база ложится

PS. не нужно путать количество вставок в секунду и количество коммитов в секунду, тем более с участием FK. Со вставками в приличных системах речь действительно может идти про миллионы.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979076
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
А сколько потоков пишут в базу? И сразу следующей вопрос: а точно ли это база загибается, а не просто на уровне приложения идет ожидание?

база. сам слик начинает писать варнингами типа ответ занял 1000 мс, ответ занял 10000 мс ответ занял 100000мс и т.п. ))
...
Рейтинг: 0 / 0
акка или кафка?
    #39979079
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
SpringMan
А сколько потоков пишут в базу? И сразу следующей вопрос: а точно ли это база загибается, а не просто на уровне приложения идет ожидание?

база. сам слик начинает писать варнингами типа ответ занял 1000 мс, ответ занял 10000 мс ответ занял 100000мс и т.п. ))

А если из стека технологий выкинуть slick и работать на уровне JDBC?

Хотя-бы для 1 конкретного hot-sql.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979086
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Профайлинг и администрирование на уровне "бог"

IMHO
...
Рейтинг: 0 / 0
акка или кафка?
    #39979097
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Профайлинг и администрирование на уровне "бог"
Это конечно ржака-ржакой, однако, в современной жизни имеет место быть, я, вот, одно время думал почему бы не сменить род деятельности и не пойти в сторону оптимизации производительности - тема по себе довольно прикольная и кроме всего прочего кого-то "сверху" нет, т.е. сидишь себе, копаешься в чем-то, если результаты есть - вот тебе медаль, если нет, то просто зп, однако то что творится в современном мире описать общепринятой лексикой просто невозможно: люди, которые занимаются нагрузочным тестированием ничем кроме нагрузочного тестирования фактически не занимаются, т.е. у них есть куча (платных) инструментов, которые потенциально могут показывать влияние того или иного изменения на производительность системы, однако никакие параметры (а уже тем более писать код) они не то что не умеют, а даже не могут, даже хуже того, они и в действительности нужные метрики собрать не могут, потому что ограничены в возможностях. Сейчас мир захватили какие-то хипстеры, которые вообще нихрена не умеют - как пример этому топику: вместо написания пары строк кода нужно всенеприменно куда-то встроить кафку, есть еще дебилы, которые вместо общепринятого мониторинга пихают куда не попадя всякие поделки в духе графаны.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979099
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
!!!

Что?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979104
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Не, ну можно конечно взять каффка, акка, какую нибудь NoSQL и радоваться (заниматься сексом) с ними полгодика, а то и год.... молодежно и "весело задорно" ( C )

Ну, нормально. Секс он не для стариков.


Leonid Kudryavtsev
Тут уже не 20% прирост, а думаю вполне можно ожидать прирост раз в 10.

Ну ты не знаешь как у него там всё устроено, может после этих insert'ов ему вернётся пачка id, а там еще 10 insert'ов, на каждом по 2 триггера, штук 5 вложенок сверху, а потом select по половине базе. Поможет ему в таком случае твой батч.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979117
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Leonid Kudryavtsev
Профайлинг и администрирование на уровне "бог"
Это конечно ржака-ржакой, однако, в современной жизни имеет место быть, я, вот, одно время думал почему бы не сменить род деятельности и не пойти в сторону оптимизации производительности - тема по себе довольно прикольная и кроме всего прочего кого-то "сверху" нет, т.е. сидишь себе, копаешься в чем-то, если результаты есть - вот тебе медаль, если нет, то просто зп, однако то что творится в современном мире описать общепринятой лексикой просто невозможно: люди, которые занимаются нагрузочным тестированием ничем кроме нагрузочного тестирования фактически не занимаются, т.е. у них есть куча (платных) инструментов, которые потенциально могут показывать влияние того или иного изменения на производительность системы, однако никакие параметры (а уже тем более писать код) они не то что не умеют, а даже не могут, даже хуже того, они и в действительности нужные метрики собрать не могут, потому что ограничены в возможностях. Сейчас мир захватили какие-то хипстеры, которые вообще нихрена не умеют - как пример этому топику: вместо написания пары строк кода нужно всенеприменно куда-то встроить кафку, есть еще дебилы, которые вместо общепринятого мониторинга пихают куда не попадя всякие поделки в духе графаны.

а причем тут графана. ну хотят графану пусть шатают графану. приложению то пофиг. может вкарячил своего прометея оно его и гребет. а можешь и не корячить.

я вот не хочу например возиться с оптимизацией. так как это надо быть на нее сильно заточенным. и заниматься только ей. нюансов не очень много но где их взять и как набить я хз да мне и не интересно. а тыкать пальцем в небо можно до бесконечности. ща я бабахну 100500 часов и впилю прослойку для батчинга а на выхлопе окажется шиш да моленько. потому что не все предусмотрели и ваши рассуждения на тему батчинга хороши для кейса А и совершенно бесполезны для кейса Б.

подскажи о добрый человек, куда мне дописать пару строчек чтоб оно работало не на 600 запросов а хотя бы на 6000? ведь это же просто. как в стековерфлоу - ктрл-ц ктрл-в и всё работает. ведь это же так просто исходя из твоих слов?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979118
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Leonid Kudryavtsev
Не, ну можно конечно взять каффка, акка, какую нибудь NoSQL и радоваться (заниматься сексом) с ними полгодика, а то и год.... молодежно и "весело задорно" ( C )

Ну, нормально. Секс он не для стариков.


Leonid Kudryavtsev
Тут уже не 20% прирост, а думаю вполне можно ожидать прирост раз в 10.

Ну ты не знаешь как у него там всё устроено, может после этих insert'ов ему вернётся пачка id, а там еще 10 insert'ов, на каждом по 2 триггера, штук 5 вложенок сверху, а потом select по половине базе. Поможет ему в таком случае твой батч.

нету вложенок никаких. всё тупо как топор. можно прилагу как бенчмарк использовать вполне.

к инсертам примешивается некоторое кличество селектов ну примерно в 1-2хкратном размере и всё. причем часть этих селектов вполне можно вынести на какой-нибудь редис.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979125
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
а причем тут графана. ну хотят графану пусть шатают графану. приложению то пофиг. может вкарячил своего прометея оно его и гребет. а можешь и не корячить.
Люди, использующие графану, теряют связь с реальностью, их цель - красивые картинки, а правильная цель следующая: если метрики, снимаемые с приложения, нарушают пороги, то должен быть заведен инцидент с последующим расследованием. Твои 100 секунд на ответ - это вообще зашквар (читай про правило трех сигм)

andreykaT
я вот не хочу например возиться с оптимизацией. так как это надо быть на нее сильно заточенным. и заниматься только ей. нюансов не очень много но где их взять и как набить я хз да мне и не интересно. а тыкать пальцем в небо можно до бесконечности. ща я бабахну 100500 часов и впилю прослойку для батчинга а на выхлопе окажется шиш да моленько. потому что не все предусмотрели и ваши рассуждения на тему батчинга хороши для кейса А и совершенно бесполезны для кейса Б.
А чего, у вас в Финляндии тоже бомжи в IT работают?

andreykaT
подскажи о добрый человек, куда мне дописать пару строчек чтоб оно работало не на 600 запросов а хотя бы на 6000? ведь это же просто. как в стековерфлоу - ктрл-ц ктрл-в и всё работает. ведь это же так просто исходя из твоих слов?
Отключай синхронный комит в postgresql и наступит "счастье". По импакту это будет то же самое что ты накрутишь со всеми своими кафакми а акками, но при этом будет на виду, без всяких маскировок.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979126
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
вадя
!!!

Что?
+100500 в сжатом виде
...
Рейтинг: 0 / 0
акка или кафка?
    #39979128
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
andreykaT,

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

дядь ты вообще видимо не понимаешь что такое каффка) каким образом там что упрется в базу то?

в его случае это раешается батчингом без каких то плясок с бубном - а вообще раз такая ситуация у него то генерировать id нужно не в бд а на бэке и класть в кэш и далее в кафку - тогда и база не лопнет и id получит мгновенно

пс.у нас есть сервис с нагрузкой раз в 10 больше чем его 600 инсертов в секунду - батчитнг работает отлично и база постгрес через жука
...
Рейтинг: 0 / 0
акка или кафка?
    #39979129
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT


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

если хочешь можно в тимс я тебе покажу решение на 6000 инсертов - но его писал не я ,могу только код показать) - но там батчинг
...
Рейтинг: 0 / 0
акка или кафка?
    #39979130
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
в его случае это раешается батчингом без каких то плясок с бубном - а вообще раз такая ситуация у него то генерировать id нужно не в бд а на бэке и класть в кэш и далее в кафку - тогда и база не лопнет и id получит мгновенно

пс.у нас есть сервис с нагрузкой раз в 10 больше чем его 600 инсертов в секунду - батчитнг работает отлично и база постгрес через жука
после твоего отношения к id - твои слова близки к нулю
...
Рейтинг: 0 / 0
акка или кафка?
    #39979131
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

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

Мне кажется что с тебя надо стрясти SQL-запрос. План. И статистика которую видит Постгрес.
И отчот Java Flight Recorder за проблемный период. И memory dump.

Да и еще. Самый пустяк. Исходные коды. А-то вдруг ты там Thread.sleep(1) вставил. Просто чтоб гонок
не было. Я такое видел. Да.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979133
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Отключай синхронный комит в postgresql и наступит "счастье". По импакту это будет то же самое что ты накрутишь со всеми своими кафакми а акками, но при этом будет на виду, без всяких маскировок.[/quot]
этот фокус пройдет с чистым jdbc?
жук тут не прокатит или любая другая имлементация JPA?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979135
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
asv79
в его случае это раешается батчингом без каких то плясок с бубном - а вообще раз такая ситуация у него то генерировать id нужно не в бд а на бэке и класть в кэш и далее в кафку - тогда и база не лопнет и id получит мгновенно

пс.у нас есть сервис с нагрузкой раз в 10 больше чем его 600 инсертов в секунду - батчитнг работает отлично и база постгрес через жука
после твоего отношения к id - твои слова близки к нулю

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


Да и еще. Самый пустяк. Исходные коды. А-то вдруг ты там Thread.sleep(1) вставил. Просто чтоб гонок
не было. Я такое видел. Да.

андреич по классике сделал - сначала thread.interapt() потом thread.sleep()
...
Рейтинг: 0 / 0
акка или кафка?
    #39979139
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

этот фокус пройдет с чистым jdbc?
жук тут не прокатит или любая другая имлементация JPA?
ну чего ты дичь спрашиваешь-то, в доке же пишут:
https://www.postgresql.org/docs/12/wal-async-commit.html Asynchronous commit is an option that allows transactions to complete more quickly, at the cost that the most recent transactions may be lost if the database should crash. In many applications this is an acceptable trade-off.

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

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


Можно вопрос: а каким образом, это вообще может сказаться на производительности ?
PostgreSQL не все равно, откуда пришли запросы, на которых он "лег" ?

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

Oracle - действительно просто, в init.ora надо добавить fast = true, к сожалению PostgreSQL значительно отстал в развитии

сначала определяют, чего именно не хватает СУБД и что конкретно потребляет ее ресурсы

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

если есть подозрение, что "тяжелые" это insert и commit, смотрять статистику по записи на диск и время ожидания фонового процесса сброса грязных буферов и лог врайтера, насколько часто и безболезненно проходят чекпоинты (терминология у меня хромает, но postgresql вроде один в один Oracle 8i). Чем грязных буферов больше, а сбросов/чекпоинтов меньше, тем быстрее работает

думают, можно ли проапгрейдить железо или поменять параметры (для Oracle например размер redo log buffer и время до чекпоинтов / размер redo log файлов, с PostreSQL сложнее и не настолько явное влияние оказывает afaik)

если диски HDD, то крайне осмысленно/желательно вынесение redo log на отдельные диски и вынесение на отдельные диски redo log archive, что бы при архивирование redo log была минимальная конкуренции с текущими транзакциями

и так далее и тому подобное

зная, что конкретно "плохо", можно уже думать, как это плохо убрать

IMHO

п.с. под PostgreSQL есть еще такая вещь, как Vacuum, но ее ни разу не пытался тюнить / настраивать, не сталкивался
...
Рейтинг: 0 / 0
акка или кафка?
    #39979141
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton


Да и еще. Самый пустяк. Исходные коды. А-то вдруг ты там Thread.sleep(1) вставил. Просто чтоб гонок
не было. Я такое видел. Да.

андреич по классике сделал - сначала thread.interapt() потом thread.sleep()

Еще Thread.yield() такой был. Типа уступить лыжню.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979143
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
терминология у меня хромает, но postgresql вроде один в один Oracle 8i
Чет я не припомню, чтобы для 8i писали рекомендации в духе: ну если вам нужна более быстрая запись redo, то вы его на отдельную FS переместите, а потом создайте символическую ссылку (пользователи MS Windows тут особо рады кмк)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979144
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79
пропущено...

андреич по классике сделал - сначала thread.interapt() потом thread.sleep()

Еще Thread.yield() такой был. Типа уступить лыжню.

короче что мы выяснили ? давайте подведем итоги)
1.человек -сеньер из епам != реальный сьньер
2.в финляндии кодируют бомжи
3.памфилов всем утер нос ( !точно)

по асинхроности комитов - ведь тогда же надо распаралелить и инсерты или бд их сама там распаралелит?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979145
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
andreykaT

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


Можно вопрос: а каким образом, это вообще может сказаться на производительности ?
PostgreSQL не все равно, откуда пришли запросы, на которых он "лег" ?

если у тебя 100500 повторяющихся запросов которые удовлетворились тем что нашли в редисе то они прости за банальность тупо до постгреса не дойдут и не отъедят его перформанс. или ты что то другое меня спрашиваешь?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979146
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

п.с. под PostgreSQL есть еще такая вещь, как Vacuum, но ее ни разу не пытался тюнить / настраивать, не сталкивался

Я думаю что Вакуум Андрейке не мешал. Его работа - периодична. Можно настроить на maintenance окна в ночное время.
У нашего друга - проблема была постоянна. И под нагрузкой. Хотя единоразовая акция вакуумирования - могла
хотя-бы просто отбросить гипотезу о том что мешает быстрый рост основной таблицы фактов вследствие частых updates.

Здесь Oracle действительно был-бы лучше т.к. ему пофиг на частые updates. В отличие от.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979147
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
asv79

этот фокус пройдет с чистым jdbc?
жук тут не прокатит или любая другая имлементация JPA?
ну чего ты дичь спрашиваешь-то, в доке же пишут:
https://www.postgresql.org/docs/12/wal-async-commit.html Asynchronous commit is an option that allows transactions to complete more quickly, at the cost that the most recent transactions may be lost if the database should crash. In many applications this is an acceptable trade-off.

andreykaT имеет желание сделать то же самое, но только через жопу.
ну по итогу ты так и не ответил - поддерживается ли это жпа)
то что компромис между потерей данных и производительностью это и так понятно
...
Рейтинг: 0 / 0
акка или кафка?
    #39979148
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton
пропущено...

Еще Thread.yield() такой был. Типа уступить лыжню.

короче что мы выяснили ? давайте подведем итоги)
1.человек -сеньер из епам != реальный сьньер
2.в финляндии кодируют бомжи
3.памфилов всем утер нос ( !точно)

по асинхроности комитов - ведь тогда же надо распаралелить и инсерты или бд их сама там распаралелит?

1. а кто тут сеньор из епам?
2. гагой смешной чувак из твери с зарплатой в 30 тыщ.
3. возможно. осталось получить две строчки кода которые поднимут производительность в 100 раз.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979149
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
а причем тут графана. ну хотят графану пусть шатают графану. приложению то пофиг. может вкарячил своего прометея оно его и гребет. а можешь и не корячить.
Люди, использующие графану, теряют связь с реальностью, их цель - красивые картинки, а правильная цель следующая: если метрики, снимаемые с приложения, нарушают пороги, то должен быть заведен инцидент с последующим расследованием. Твои 100 секунд на ответ - это вообще зашквар (читай про правило трех сигм)

andreykaT
я вот не хочу например возиться с оптимизацией. так как это надо быть на нее сильно заточенным. и заниматься только ей. нюансов не очень много но где их взять и как набить я хз да мне и не интересно. а тыкать пальцем в небо можно до бесконечности. ща я бабахну 100500 часов и впилю прослойку для батчинга а на выхлопе окажется шиш да моленько. потому что не все предусмотрели и ваши рассуждения на тему батчинга хороши для кейса А и совершенно бесполезны для кейса Б.
А чего, у вас в Финляндии тоже бомжи в IT работают?

1. 100 секунд на ответ - это повод заводить инцидент. не понимаю, причем тут зашквар или ты без багов сразу в прод пишешь?
2. может и бомжи. всякие. человека-программиста, разбирающегося во многих тонкостях, как увеличить перф по различным технологиям, чуть выше уровня "а проверьте индексы" я в своей скромной карьере видел только РАЗ. я сейчас рассуждаю про действиетльно серьезные умения а не какие-то там банальности типа тех же индексов или хиберовских н+1. но может у вас в мельбурне каждый первый и швец и жнец и на дуде игрец и хибер улучшает и оракл дба, и в монгу может и амазон кинезис перформит наравне с кафкой и т.п. у вас там всё с ног на голову. согласен.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979150
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
asv79
пропущено...

короче что мы выяснили ? давайте подведем итоги)
1.человек -сеньер из епам != реальный сьньер
2.в финляндии кодируют бомжи
3.памфилов всем утер нос ( !точно)

по асинхроности комитов - ведь тогда же надо распаралелить и инсерты или бд их сама там распаралелит?

1. а кто тут сеньор из епам?
2. гагой смешной чувак из твери с зарплатой в 30 тыщ.
3. возможно. осталось получить две строчки кода которые поднимут производительность в 100 раз.

Эй. А вот с этого момента - стоп! Обсуждать личности и их зарплаты мы не будем.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979151
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
дядь ты вообще видимо не понимаешь что такое каффка) каким образом там что упрется в базу то?

Да, ты всё правильно понял, там индекс раздаёт ид из базы => все ждут базу. Если у него будет кафка, то это ничего не изменит, все также будут ждать базу, просто еще кафка сбоку.

Какой я тебе дядя, ты на 10 лет меня старше.

asv79
если хочешь можно в тимс я тебе покажу решение на 6000 инсертов

6к инсертов можно хоть на микроволновке сделать. Даже Mysql в лохматом году давал 50к при разворачивании дампа. Там не всё так просто, мало инфы.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979152
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
(пользователи MS Windows тут особо рады кмк)

В венде есть симлинки и хардлинки, я не знаю, насчёт ограничений, правда.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979154
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
andreykaT
пропущено...

1. а кто тут сеньор из епам?
2. гагой смешной чувак из твери с зарплатой в 30 тыщ.
3. возможно. осталось получить две строчки кода которые поднимут производительность в 100 раз.

Эй. А вот с этого момента - стоп! Обсуждать личности и их зарплаты мы не будем.

ну почему бомжей же обуждаем финских? хотелось бы поговорить про тверских небомжей с лухарилайф на 30к?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979155
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
asv79
дядь ты вообще видимо не понимаешь что такое каффка) каким образом там что упрется в базу то?

Да, ты всё правильно понял, там индекс раздаёт ид из базы => все ждут базу. Если у него будет кафка, то это ничего не изменит, все также будут ждать базу, просто еще кафка сбоку.

если ид генерить не на уровне базы. я об этом. т.е. тебе ид особо и не нужен по факту становится и ответ базы в разумных пределах уже роли играть не будет. главное чтоб он был в принципе.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979156
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

ну по итогу ты так и не ответил - поддерживается ли это жпа)
то что компромис между потерей данных и производительностью это и так понятно
тут достаточно сложно вопрошающему что-либо отвечать, если он откровенно отвергает чтение документации. Со стороны БД контракт "commit" выглядит примерно так: если клиент выдал "коммит" и ему ответили "ок", то это значит, то в тот же момент можно БД жестко выключить (прямо питание вырубить), потом включить и данные клиента останутся на месте (естественно без учета влияния конкурирующих транзакций). Ни JDBC, ни JOOQ никаким образом на этот контракт не влияют. В БД исполнение этого контракта просто нереально дорого - что Oracle, что MSSQL, что PostgreSQL приходится писать данные не только в файлики БД, а еще в redo, transaction log, wal (в зависимости от реализации), причем запись происходит последовательно, в один поток - от этого факта никуда не уйти.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979157
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
asv79
дядь ты вообще видимо не понимаешь что такое каффка) каким образом там что упрется в базу то?

Да, ты всё правильно понял, там индекс раздаёт ид из базы => все ждут базу. Если у него будет кафка, то это ничего не изменит, все также будут ждать базу, просто еще кафка сбоку.
.

мы давно поняли проблему автора,в его случае вариком был бы батчинг ,у нас такое стоит на проде и обрабатываются в 10 раз болье запросов- но на счет того чтобы сразу доствать id я не уверен,но без очередей кладем)

проблема автора в неправильной архитектуре приложения - так как если бы приложение было построено правильно- такого бы просто не наступило.Любое решение будет по сути костылем.Ну а там далее бомжи из финки подлатают где надо)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979159
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
asv79

ну по итогу ты так и не ответил - поддерживается ли это жпа)
то что компромис между потерей данных и производительностью это и так понятно
тут достаточно сложно вопрошающему что-либо отвечать, если он откровенно отвергает чтение документации. Со стороны БД контракт "commit" выглядит примерно так: если клиент выдал "коммит" и ему ответили "ок", то это значит, то в тот же момент можно БД жестко выключить (прямо питание вырубить), потом включить и данные клиента останутся на месте (естественно без учета влияния конкурирующих транзакций). Ни JDBC, ни JOOQ никаким образом на этот контракт не влияют. В БД исполнение этого контракта просто нереально дорого - что Oracle, что MSSQL, что PostgreSQL приходится писать данные не только в файлики БД, а еще в redo, transaction log, wal (в зависимости от реализации), причем запись происходит последовательно, в один поток - от этого факта никуда не уйти.

напомню, моя цель - отвязаться от базы в принципе. забыть про нее. представить это отдельным от основного функционала сервисом. понизить уровень ее важности и влияния. пусть она пишет как хочет и сколько хочет. главное не влияет на основные процессы.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979160
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
mayton
пропущено...

Эй. А вот с этого момента - стоп! Обсуждать личности и их зарплаты мы не будем.

ну почему бомжей же обуждаем финских? хотелось бы поговорить про тверских небомжей с лухарилайф на 30к?

слушай ты сам про бомжей написал)я тебя лишь поддержал)
про меня то что говорить я общепризнанный тверской it бомжара)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979162
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
asv79

ну по итогу ты так и не ответил - поддерживается ли это жпа)
то что компромис между потерей данных и производительностью это и так понятно
тут достаточно сложно вопрошающему что-либо отвечать, если он откровенно отвергает чтение документации. Со стороны БД контракт "commit" выглядит примерно так: если клиент выдал "коммит" и ему ответили "ок", то это значит, то в тот же момент можно БД жестко выключить (прямо питание вырубить), потом включить и данные клиента останутся на месте (естественно без учета влияния конкурирующих транзакций). Ни JDBC, ни JOOQ никаким образом на этот контракт не влияют. В БД исполнение этого контракта просто нереально дорого - что Oracle, что MSSQL, что PostgreSQL приходится писать данные не только в файлики БД, а еще в redo, transaction log, wal (в зависимости от реализации), причем запись происходит последовательно, в один поток - от этого факта никуда не уйти.

ну ты бы так и сказал сразу) что без разницы ждбс или жук- можно отключиь синхронный комит и база перестанет падать на 600 инстертах
...
Рейтинг: 0 / 0
акка или кафка?
    #39979163
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

3. возможно. осталось получить две строчки кода которые поднимут производительность в 100 раз.


в config.sys добавить:

fast_insert = true
no_lock_mode = true

в autoexec.bat

smartdrv.exe c+
...
Рейтинг: 0 / 0
акка или кафка?
    #39979164
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
andreykaT
пропущено...

ну почему бомжей же обуждаем финских? хотелось бы поговорить про тверских небомжей с лухарилайф на 30к?

слушай ты сам про бомжей написал)я тебя лишь поддержал)
про меня то что говорить я общепризнанный тверской it бомжара)

у тебя всё впереди.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979165
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
andreykaT

3. возможно. осталось получить две строчки кода которые поднимут производительность в 100 раз.


в config.sys добавить:

fast_insert = true
no_lock_mode = true

в autoexec.bat

smartdrv.exe c+

што это?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979166
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Андрей Панфилов
(пользователи MS Windows тут особо рады кмк)

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

https://stackoverflow.com/questions/40369238/which-directory-does-apache-kafka-store-the-data-in-broker-nodes The default log.dir is /tmp/kafka-logs which you may want to change in case your OS has a /tmp directory cleaner.

т.е. вот *удакам не то что не хватило мозгов написать пару строк кода, что если у них log.dir смотрит в /tmp, то при запуске сразу слать всех нахер, так они еще и расположение по-умолчанию умудрились в /tmp вкорячить.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979167
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

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

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

но вообще очень странно - я еще раз повторю у нас есть сервис который кушает до 6000 рестов - все это успешно кладется в бд с обыычнм хибером и батчингом
вообще я у коллег это спросил - они удивились такому вопросу
...
Рейтинг: 0 / 0
акка или кафка?
    #39979168
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Андрей Панфилов#22166769]
crutchmaster
пропущено...

Я вот совсем недавно с кафкой столкнулся - они оказывается наркоманы еще те:

что именно тебя в ней не устроило)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979169
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
проблема автора в неправильной архитектуре приложения - так как если бы приложение было построено правильно- такого бы просто не наступило.

Верно подмечено, кэп.

asv79
мы давно поняли проблему автора,в его случае вариком был бы батчинг ,у нас такое стоит на проде и обрабатываются в 10 раз болье запросов

Да не факт. Без кода перед глазами сказать сложно.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979170
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов

В БД исполнение этого контракта просто нереально дорого - что Oracle, что MSSQL, что PostgreSQL

Протестую насчет слов "нереально дорого"

AFAIK в Oracle и в PostgreSQL запись идет только в redo.log и то, чисто _последовательно_. Т.е. на офисном HDD можно вполне получать сотни мегабайт редо логов в секунду. Разумеется, теоретически и если не будет конкуренции и дергания головок. Те же самые грязные блоки вполне остаются грязными и на диск скидываются по остаточному принципу (в фоне), т.е. достаточно хорошо буферизуются и кешируются в buffer cache.

То, что действительно "нереально дорого", это переключение redo log'ов и checkpoint (в терминологии Oracle 8i), когда состояние нужно жестко фиксировать на диске и процесс может растянутся на значительное время: сбросить все грязные блоки на диск, переключить redo log, начать архивирование предыдущего редо лог и так далее

imho & afaik
...
Рейтинг: 0 / 0
акка или кафка?
    #39979175
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
AFAIK в Oracle и в PostgreSQL запись идет только в redo.log и то, чисто _последовательно_. Т.е. на офисном HDD можно вполне получать сотни мегабайт редо логов в секунду. Разумеется, теоретически и если не будет конкуренции и дергания головок. Те же самые грязные блоки вполне остаются грязными и на диск скидываются по остаточному принципу (в фоне), т.е. достаточно хорошо буферизуются и кешируются в buffer cache.
так дело же не в мегабайтах, а в частоте вызовов (мегабайты мы можем и в кеш писать, а как только мы захотели - будь добр все добро слить на диск). лет так десять назад SUN (или уже Oracle) активно пиарили свои поделки-процессоры TХУЕМОЕ1000500, у нас был заказчик, который повелся на эту маркетинговую херню и где-то какие-то TXXXX у себя раскатал - у него тупо процессор не мог мог с потоком redo справиться.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979176
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

у тебя всё впереди.

я не хочу в финку и не хочу в епам)
в финку не хочу ,потому что там холодно и куча алкашей- по сути я и так сейчас в финке)

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

я до сих пор не понимаю харазмента прогера по языковому барьеру
недавно собесился в екб- заказчики китай
собес был с китайцами + переводчик и я прошел)
так что засуньте вы себе свой инглишь подальше и поглубже .
а тех литература успешно переводится гугл ботом давно
в 2020 году давно уже пора прекрать вот это все что касается языка- пусть человек говорит и воспринимает инфу на том языке- на котором ему удобно
в этом плане епам конечно остал от других бодишопов
...
Рейтинг: 0 / 0
акка или кафка?
    #39979178
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
я вот не хочу например возиться с оптимизацией. так как это надо быть на нее сильно заточенным. и заниматься только ей. нюансов не очень много но где их взять и как набить я хз да мне и не интересно. а тыкать пальцем в небо можно до бесконечности
Ну так и пройдите лесом в пешее эротическое путешествие.
Вам русским по белому сказали: "Убирайте конкурентность". И даже добавили: "Сделайте мультиплексор".
Не хочется - ну так проблемы шерифа индейцев не колышат.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979179
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
в 2020 году давно уже пора прекрать вот это все что касается языка- пусть человек говорит и воспринимает инфу на том языке- на котором ему удобно

Не вопрос. Оплачивай переводчика.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979182
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
епам вот это такое

человек собесер - спрашивает меня можно ли юзать трай без кетч) я говорю можно ,но ты назови юзкейс)
и он не смог)тоесть это сеньер (наверняка) который не знает что можно юзать трай файнали)
но зато он по англ говори быстро с акцентом мутко)
вот такие люди там потом роняют систему осаго)
ну как бы руководство выводов не сделало- тех знания 0 - главно шпрехень зе инглешь)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979184
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
asv79
в 2020 году давно уже пора прекрать вот это все что касается языка- пусть человек говорит и воспринимает инфу на том языке- на котором ему удобно

Не вопрос. Оплачивай переводчика.

сейчас практически все компании их имеют) у вас нет? берите дураков из епам- они круто базарят по англ) но нули во всем остальном)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979186
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
у вас нет?

У меня обычная гос шаражка и переводчик тут нужен только с бухгалтерского.

asv79
сейчас практически все компании их имеют)

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

ну почему бомжей же обуждаем финских? хотелось бы поговорить про тверских небомжей с лухарилайф на 30к?

я выхожу в эту пятницу на 120 мидлом+ квартальная премия
так что вроде я и не бомж уже) осталось 3 месяца пройти испыталки)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979188
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
andreykaT
я вот не хочу например возиться с оптимизацией. так как это надо быть на нее сильно заточенным. и заниматься только ей. нюансов не очень много но где их взять и как набить я хз да мне и не интересно. а тыкать пальцем в небо можно до бесконечности
Ну так и пройдите лесом в пешее эротическое путешествие.
Вам русским по белому сказали: "Убирайте конкурентность". И даже добавили: "Сделайте мультиплексор".
Не хочется - ну так проблемы шерифа индейцев не колышат.

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

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

или что?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979189
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
andreykaT

ну почему бомжей же обуждаем финских? хотелось бы поговорить про тверских небомжей с лухарилайф на 30к?

я выхожу в эту пятницу на 120 мидлом+ квартальная премия
так что вроде я и не бомж уже) осталось 3 месяца пройти испыталки)

молодец. а ты боялся и говорил что твой потолок 60. или че там. я тебе говорю - бей на 150. ну ок. 120 это хотя бы не 60 и даже не 30 :)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979190
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
asv79
у вас нет?

У меня обычная гос шаражка и переводчик тут нужен только с бухгалтерского.

asv79
сейчас практически все компании их имеют)

Инглиш нужен не за этим, а чтобы в перспективе свалить с бодишопа и работать с заказчиками напрямую без кишечных паразитов.

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

я не пойму людей рвущихся в сторону запада,когда тут мастадотны нефтяные за ролик платят 10 млн ,что равно бюджету какой то ино компании
...
Рейтинг: 0 / 0
акка или кафка?
    #39979191
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

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

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

или что?


Ой жесть какая... я нужный код напишу за пару минутчасов, а очередь мне будут пару недель устанавливать (в /tmp, ага)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979193
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT

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

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

или что?


Ой жесть какая... я нужный код напишу за пару минутчасов, а очередь мне будут пару недель устанавливать (в /tmp, ага)

советую загуглить что такое мультиплексор. )) ты или свою очередь напишешь отдельным сервисом. или напишешь много очередей если у тебя апп горизонтально отмасштабирован своими тремя строчками.

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

я выхожу в эту пятницу на 120 мидлом+ квартальная премия
так что вроде я и не бомж уже) осталось 3 месяца пройти испыталки)

молодец. а ты боялся и говорил что твой потолок 60. или че там. я тебе говорю - бей на 150. ну ок. 120 это хотя бы не 60 и даже не 30 :)

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

пс,это как в дойче банк был собес они говорят нужен инглишь - я говорю почему вы так не любите своих сотрудников? тоесть я знаю что немцам тяжело и русским тоже - зачем вот это все?
что вот это за бред ? мировой язык инглишь? цвет кожи белый и тд= да идите вы нах с этими постулатами
...
Рейтинг: 0 / 0
акка или кафка?
    #39979195
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT

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

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

или что?


Ой жесть какая... я нужный код напишу за пару минутчасов, а очередь мне будут пару недель устанавливать (в /tmp, ага)

вмысле очередь напишут?
там дел на час )
панфилов ты шо кафку не юзал рили?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979196
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
andreykaT

у тебя всё впереди.

я не хочу в финку и не хочу в епам)
в финку не хочу ,потому что там холодно и куча алкашей- по сути я и так сейчас в финке)

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

я до сих пор не понимаю харазмента прогера по языковому барьеру
недавно собесился в екб- заказчики китай
собес был с китайцами + переводчик и я прошел)
так что засуньте вы себе свой инглишь подальше и поглубже .
а тех литература успешно переводится гугл ботом давно
в 2020 году давно уже пора прекрать вот это все что касается языка- пусть человек говорит и воспринимает инфу на том языке- на котором ему удобно
в этом плане епам конечно остал от других бодишопов

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

молодец. а ты боялся и говорил что твой потолок 60. или че там. я тебе говорю - бей на 150. ну ок. 120 это хотя бы не 60 и даже не 30 :)

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

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

немцев, знающих инглиш просто больше немцев знающих русский вот и всё. против мира переть бесполезно ))) если они покупают твой труд а не ты покупаешь их труд то они вполне в своем праве выставлять тебе требования. а китайцы те еще работодатели. удачи в любом случае.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979199
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
советую загуглить что такое мультиплексор. )) ты или свою очередь напишешь отдельным сервисом. или напишешь много очередей если у тебя апп горизонтально отмасштабирован своими тремя строчками.

а вот что лучше делать писать свою или взять готовую. ну я всегда сторонник взять готовую. почему? потому что ее уже отдебажили. а твою - только предстоит.

эээ... я должен загуглить то что тебе советовал??? еще раз:
- к нам пришел запрос от клиента
- мы ему дали id и пихнули в очередь, а сами "ждем" когда у запроса флаг поменяется (там асинхронные сервлеты, все дела, в спринге наверное нужно целую аннотацию шлепнуть - одна строка + заинжектить очередь - 2 строки)
- хрень раз в некоторе время запускается, делает срез очереди, льет в базу и всем ждущим запросам выставляет флаг (ну наверное строк аж 10-15)

при этом:
- я контракт соблюдаю: т.е. я клиенту отдал данные, к которым можно сразу же обращаться
- отклонение от среднеквадратичного у меня не 100500 сигм, а столько, сколько я пожелаю
...
Рейтинг: 0 / 0
акка или кафка?
    #39979201
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
советую загуглить что такое мультиплексор. )) ты или свою очередь напишешь отдельным сервисом. или напишешь много очередей если у тебя апп горизонтально отмасштабирован своими тремя строчками.

а вот что лучше делать писать свою или взять готовую. ну я всегда сторонник взять готовую. почему? потому что ее уже отдебажили. а твою - только предстоит.

эээ... я должен загуглить то что тебе советовал??? еще раз:
- к нам пришел запрос от клиента
- мы ему дали id и пихнули в очередь, а сами "ждем" когда у запроса флаг поменяется (там асинхронные сервлеты, все дела, в спринге наверное нужно целую аннотацию шлепнуть - одна строка + заинжектить очередь - 2 строки)
- хрень раз в некоторе время запускается, делает срез очереди, льет в базу и всем ждущим запросам выставляет флаг (ну наверное строк аж 10-15)

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

я тебя понял. я подумаю над твоими словами. только не понял зачем там флаги. вместо флагов я им могу разослать месседжи. а флаги вроде как расшаренная память обращение к мутабельным полям и т.п. не уверен что это гут практиз.
и да не уверен что у меня есть спринг с аннотациями.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979202
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тоесть если человек родился питором его по европейским каномам нельзя переделывать,а вот я русским родился почему я должен учить язык,который превращает меня в идиота -я думаю никто не будет тут спорить что этот язык приметивен и делкларaтивен
...
Рейтинг: 0 / 0
акка или кафка?
    #39979204
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
только не понял зачем там флаги
ну ты посмотри как асинхронные сервлеты реализованы - там все ждет когда флаг выставится.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979205
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

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

финка норм страна я с тобой не спорю,но в 2020 году харазмент по языку должен кануть в лету
есть переводчики,гугл боты и еще миллиарды инструментов понять друг друга и если у меня не гуманитарный склад ума - то почему я должен себя насиловать- это тот же самый харазмент по цвету кожи вот и все
поверь мне еще пара лет и вот эта вся шляпа канет в лету в рф команиях
просто ее нет в сша- ты идешь рабоать и от тебя не требуют знать китайский) там есть переводчик и это норм пратика
а в этом году вроде как будет реал тайм переводчик от гугл - что по сути просто похоронит профессию переводчик)
так как то что декларативно - можно засунть в бота
сейчас гугл бот спокойно переводит любые афоризмы
...
Рейтинг: 0 / 0
акка или кафка?
    #39979207
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
мы ему дали id и пихнули в очередь,
когда id даёт не база - будет куча проблем....
...
Рейтинг: 0 / 0
акка или кафка?
    #39979208
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
только не понял зачем там флаги
ну ты посмотри как асинхронные сервлеты реализованы - там все ждет когда флаг выставится.

вы так до EJB дойдете)

не нужны ему никакие флаги и прочая шляпа- пусть пробует хибер батч
и отпишется по результату- у нас такое на проде шас стоит 6000 инсертов держит
...
Рейтинг: 0 / 0
акка или кафка?
    #39979210
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
когда id даёт не база - будет куча проблем....

в чем проблема с id я не пойму, в постгрес делаешь один запрос "дай мне sequence + 10000" и вот у тебя 10000 уникальных для таблицы айдишников, которые уже никто на займет - юзай не хочу
...
Рейтинг: 0 / 0
акка или кафка?
    #39979211
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Андрей Панфилов
пропущено...
ну ты посмотри как асинхронные сервлеты реализованы - там все ждет когда флаг выставится.

вы так до EJB дойдете)

не нужны ему никакие флаги и прочая шляпа- пусть пробует хибер батч
и отпишется по результату- у нас такое на проде шас стоит 6000 инсертов держит

у меня нету хибера. говорил же вроде?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979212
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha

в чем проблема с id я не пойму, в постгрес делаешь один запрос "дай мне sequence + 10000" и вот у тебя 10000 уникальных для таблицы айдишников, которые уже никто на займет - юзай не хочу
только не "дай мне sequence + 10000" а "подвинь на 10000"
...
Рейтинг: 0 / 0
акка или кафка?
    #39979213
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
в чем проблема с id я не пойму, в постгрес делаешь один запрос "дай мне sequence + 10000" и вот у тебя 10000 уникальных айдишников, которые уже никто на займет - юзай не хочу


первое - надо контролировать диапазон - у тебя 10 000 - первая вставка - 7000 и вторая 7000 - что будет?
второе - тебе выделили - и сбой питания - что есть что?
ну и далее....
...
Рейтинг: 0 / 0
акка или кафка?
    #39979216
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
первое - надо контролировать диапазон - у тебя 10 000 - первая вставка - 7000 и вторая 7000 - что будет?

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

и что во время сбоя питания проникнет враг и сожрет наши 10 тыщ айдишников?
вадя
ну и далее....
угу
...
Рейтинг: 0 / 0
акка или кафка?
    #39979218
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
первое - надо контролировать диапазон - у тебя 10 000 - первая вставка - 7000 и вторая 7000 - что будет?

Никто не заставляет выдавать именно long и вообще брать sequence с базы.

вадя
второе - тебе выделили - и сбой питания - что есть что?

ИБП. Потеря питания в таком-то году оправдана только взрывом сервера.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979220
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
самый простой вариант что? правильно кэп, очередь! очередь с одним кансамером.
Да, кэп - вы как всегда правы.выгребаем из нее с периодом иксНет. Просто выгребаем, но не более заданного лимита элементов.
Выгребли один и больше нет? Отправили один.
Выгребли три? Собрали в пачку и отправили всю пачку с одной фиксацией.
Накидано столько, что насобирали лимит, а они всё не заканчиваются - отправили пачку максимального размера и продолжаем.то что пришло и кидаем в базу. полученное из базы возвращаем назад по другой очереди и раскидываем клиентам.Скорее так - отправили пачку и (в этом потоке) ждём ответа базы.
Другой поток в это время собирает (и отправляет) новую пачку.
Ну и контролируем, чтобы параллельных потоков было не слишком много. В качестве первого лимита для "слишком много" - не более трёх или даже двух параллельных потоков.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979223
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
еще 3 тыщи запросили, или какой там модуль
запросить не проблема - вот только каждый раз надо это контролировать
Андрей Панфилов
и что во время сбоя питания проникнет враг и сожрет наши 10 тыщ айдишников?
это так же надо контролировать...
всё это как бы просто... до поры.
в итоге ...
...
Рейтинг: 0 / 0
акка или кафка?
    #39979224
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
ИБП. Потеря питания в таком-то году оправдана только взрывом сервера.
это понятно, но кроме питания есть причины внезапной остановки приложения
...
Рейтинг: 0 / 0
акка или кафка?
    #39979226
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
запросить не проблема - вот только каждый раз надо это контролировать
Вот что ты контролировать собрался? длина лонга 4 байта, ну пусть 8 как нынче принято, 10 тысяч лонгов - это же просто нереально памяти нужно, аж 80Kb! - целых 12 процентов от того что достаточно всем. вырубили питание и просрали 10 тыщ идентификаторов? ну и хрен с ними, у нас питание не каждую секунду вырубают.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979235
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Вот что ты контролировать собрался? длина лонга 4 байта, ну пусть 8 как нынче принято, 10 тысяч лонгов - это же просто нереально памяти нужно, аж 80Kb! - целых 12 процентов от того что достаточно всем. вырубили питание и просрали 10 тыщ идентификаторов? ну и хрен с ними, у нас питание не каждую секунду вырубают.
по 600 в секунду а таких и не понятно сколько за раз - 2 или 2000
так у тебя может не хватить - из-за пустых мест в id
согласись, что в данном случае это не нулевая вероятность
ну и не известно сколько надо этих id бронировать - по 10000 ? по 20? по 78?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979243
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
по 600 в секунду а таких и не понятно сколько за раз - 2 или 2000
так у тебя может не хватить - из-за пустых мест в id

bigint/bigserial = 9223372036854775807, можешь посчитать на сколько лет хватит ;)


вадя

ну и не известно сколько надо этих id бронировать - по 10000 ? по 20? по 78?

ну сколько нибудь батчей, чтоб не каждые 2 сек. в базу бегать.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979244
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
ну сколько нибудь батчей, чтоб не каждые 2 сек. в базу бегать.
вот с этим и проблема. ну сколько-нибудь.... это на каком ЯП?

chpasha
bigint/bigserial = 9223372036854775807, можешь посчитать на сколько лет хватит ;)
как бы много, но всё кончается в самый не подходящий момент
я не говорю что это не правильный путь - только на нём тоже не всё так просто и прямо...
...
Рейтинг: 0 / 0
акка или кафка?
    #39979254
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
ну сколько-нибудь.... это на каком ЯП?
батч размером 547 записей, блок айдишек брать из расчета чтоб хватило на 42 сек.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979262
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
вадя
по 600 в секунду а таких и не понятно сколько за раз - 2 или 2000
так у тебя может не хватить - из-за пустых мест в id

bigint/bigserial = 9223372036854775807, можешь посчитать на сколько лет хватит ;)


вадя

ну и не известно сколько надо этих id бронировать - по 10000 ? по 20? по 78?

ну сколько нибудь батчей, чтоб не каждые 2 сек. в базу бегать.

У меня была ситуация когда лонг кончился.
А чеб ууиды не генерить? Каков шанс дубль словить?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979269
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
У меня была ситуация когда лонг кончился.
Есть лимиты СУБД.
Есть (более практичные) ограничения на размеры хранилища или/и самой базы.
При более-менее разумной стратегии выделения идентификаторов вы не можете исчерпать long (int64) в роли первичного ключа таблицы в базе.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979271
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
А чеб ууиды не генерить? Каков шанс дубль словить?
вероятность близка к нулю - там используется время.
но это уже строка - со всеми вытекающими
...
Рейтинг: 0 / 0
акка или кафка?
    #39979307
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
andreykaT
У меня была ситуация когда лонг кончился.
Есть лимиты СУБД.
Есть (более практичные) ограничения на размеры хранилища или/и самой базы.
При более-менее разумной стратегии выделения идентификаторов вы не можете исчерпать long (int64) в роли первичного ключа таблицы в базе.

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

в контексте перформаса конкретно что?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979341
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
andreykaT
А чеб ууиды не генерить? Каков шанс дубль словить?
вероятность близка к нулю - там используется время.
но это уже строка - со всеми вытекающими

Есть несколько независимых алгоритмов генерации UUID. Есть такие которые основаны просто
на SecuredRandom генераторе. И есть такие что включают в себя сочетание timestamp + Mac-адрес
сетевого адаптера который принадлежит серверу сгенерировавшему UUID.

Можно сделать свой собственный генератор который например инкапсулирует номер ноды кластера
которая сгенерила UUID. Это дает также возможность потом трабл-шутить потерянные месседжи.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979359
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
тут сверху предлагают кусками драть а потом забывать про них

если сервер у тебя упал, то может кусок id пропасть. у тебя часто сервер падает?

andreykaT
мне кажется, с таким подходом очень даже можно и упереться

не надо кажется, возьми калькулятор в мышку и посчитай исходя из пессимистичного пиковое кол-ва инсертов (можешь для успокоения еще на 10 или 100 умножить). Я подозреваю, что у тебя винты кончатся гораздо раньше ;)
...
Рейтинг: 0 / 0
акка или кафка?
    #39979383
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
так там была не рдбмс и вообще не база
"Вообще" я достаточно изобретателен и много чего могу представить/вообразить.
Но, как бы, "в контексте" речь идёт про идентификаторы первичного ключа записи СУБД? Не?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979389
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
andreykaT
так там была не рдбмс и вообще не база
"Вообще" я достаточно изобретателен и много чего могу представить/вообразить.
Но, как бы, "в контексте" речь идёт про идентификаторы первичного ключа записи СУБД? Не?

да. короче. выносим айдихи с базы на среднее звено. понял.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979419
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
Basil A. Sidorov
пропущено...
"Вообще" я достаточно изобретателен и много чего могу представить/вообразить.
Но, как бы, "в контексте" речь идёт про идентификаторы первичного ключа записи СУБД? Не?

да. короче. выносим айдихи с базы на среднее звено. понял.

Андрейка. Почитай еще про системы которые входят в класс event-store
https://db-engines.com/en/system/Event Store

Может пригодится. У них - максимальная пропускная по количеству вставок.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979432
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tpc-c на 32 ядрах 1.6 млн tpc-c транзакций
http://www.tpc.org/tpcc/results/tpcc_result_detail5.asp?id=112092601

у постгрес конечно кривоватая архитектура с вакумом, но миллионы инсертов вытянуть обязан.
...
Рейтинг: 0 / 0
акка или кафка?
    #39979680
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты давно не встречал это сколько не встречал?))
...
Рейтинг: 0 / 0
акка или кафка?
    #39979698
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

какие глупые разработчики субд .. до сих пор делают автоинкрементные поля....
...
Рейтинг: 0 / 0
акка или кафка?
    #39979720
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
вообще давно не встречал я ничего кроме UUID в качестве PK
"Есть много, друг Горацио, ..."
...
Рейтинг: 0 / 0
акка или кафка?
    #39979721
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
у тебя id бд чтоль генерит?
вообще давно не встречал я ничего кроме UUID в качестве PK,странно что ты юзаешь что то другое
Стас, вот откуда у тебя такие познания если ты работаешь без году неделю и ничего кроме поделок, которые отдали на откуп бодишопу, не видел? У идентификаторов, которые генерятся при помощи последовательности есть один существенный недостаток (и он не звучит как "Стас не одобряет"), а именно: "из коробки" такие идентификаторы нельзя переносить из одной базы в другую, т.е. флоу вида: тут чет консультанты поделали в тестовой БД, чего-то поназаводили, давайте то что они сделали перетащим в прод, работает так себе, но эта проблема с легкостью решается путем подмешивания информации о среде в сам идентификатор (просто берем и старшие биты резервируем под идентификатор системы), даже более того, в идентификатор можно подмешивать тип сущности и получить возможность обращаться к сущностям из вне без указания типа сущности, и при этом "число" останется "числом", а с ууидами ты такое уже не провернешь. Кроме этого с рандомными PK существуют проблемы в базах (в особенности в которых принято кластеризовывать данные в таблицах на основе PK: MSSQL и InnoDB, насколько мне известно) - в каких-то случаях это хорошо (нет горячих блоков в индексе и таблице), а в каких-то наоборот плохо - на больших вставках нужно много IO (вот здесь заливка батчами реально всосет если РК - это uuid).
...
Рейтинг: 0 / 0
акка или кафка?
    #39979843
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79

А что ты используешь в качестве ORM или у тебя чистый jdbc?

он уже раз 10 сказал что используется слик. Ты спеки также внимательно читаешь?
...
Рейтинг: 0 / 0
акка или кафка?
    #39979892
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
забыл ник
пропущено...

он уже раз 10 сказал что используется слик. Ты спеки также внимательно читаешь?

а какое отношение имеет слик к java?)
это же для скалы ORM

а какое отношение этот топик имеет к java?
...
Рейтинг: 0 / 0
акка или кафка?
    #39980124
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
andreykaT,

какие глупые разработчики субд .. до сих пор делают автоинкрементные поля....

Вот. Вадя говорит что с выдачи айди лонговых в бд уходить не надо. Зизи. Учись. Правда Вадя - консерватор. не уверен насколько это консервативное решение юзать айди от базы. для меня это - лишняя депенденси.

Кстати озвучил варианты самым главным конечно же нанятым людям в роли архитекторов они прям кивнули головой за кафку и развязку от базы. хотя я теперь топлю за мультиплексор
...
Рейтинг: 0 / 0
акка или кафка?
    #39980126
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
andreykaT
Ты давно не встречал это сколько не встречал?))

если честно вообще не встречал,после того как стал работать на реальных проектах.
Long и автоинкремент у меня был в пет проектах только.

Я против Long ничего не имею ,но вроде как твоя проблема бы решилась если бы ты генерил сам Id - и писал в бд уже имя на руках Id,тогда бы тебе хватило обычной кафки без каких то доп манипуляций .

А что ты используешь в качестве ORM или у тебя чистый jdbc?

не поверишь, я НЕ лонги видел гораздо реже чем лонги. скажем так, 1 к 10ти.
...
Рейтинг: 0 / 0
акка или кафка?
    #39980129
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я один раз видел систему, где ВСЕ Primary Key были.....
были....
не поверите...
они были.... FLOAT !
...
Рейтинг: 0 / 0
акка или кафка?
    #39980132
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
забыл ник
пропущено...

он уже раз 10 сказал что используется слик. Ты спеки также внимательно читаешь?

а какое отношение имеет слик к java?)
это же для скалы ORM

не уверен что слик это орм:

Slick is not an object-relational mapper (ORM) like Hibernate or others. Slick is a data persistence solution like ORMs and naturally shares some concepts, but it also has significant differences. ... ORMs focus on persisting an object-graph. ORMs are a natural approach when using databases from object-oriented languages.

https://scala-slick.org/doc/2.1.0/orm-to-slick.html#:~:text=Slick is not an object,it also has significant differences.&text=ORMs focus on persisting an,databases from object-oriented languages.

но в целом, дерьмо то еще. но если у тебя в приложении десяток таблиц и ноль-один джойн, то вполне себе норм.
...
Рейтинг: 0 / 0
акка или кафка?
    #39980133
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Я один раз видел систему, где ВСЕ Primary Key были.....
были....
не поверите...
они были.... FLOAT !

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

типа

@Consume("topic-name")
@Produce("just-one-more-topic-name")
public String myMethod(String string) {
...do stuff...
return newString;
}

где string это то что залетело в топик-нейм и newString - это то что вылетело в just+one+more+topic+name - прям фантастическая простота.
...
Рейтинг: 0 / 0
акка или кафка?
    #39980136
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня как-то была идея. Для дата-аналитики. Грузили мы сет документов. Разного типа.
Ключом было поле long (64bit). Надо было побить документы на непересекающиеся классы
для быстрой выборки и обработки и поскольку это было на 99% NoSQL решение то я
решил завязаться на диапазоны PK. Сколько классов - столько и sequences. Только
надо было что sequences не пересекались и был запас по росту. И не было избыточного расхода.

Я разбил условно long на положительные и отрицательные. Потом прилетел еще 1 субтип.
И я разделил положительные на два под-диапазона. Постепенно если изобразить на плоскости
все 2^64 степени ключей то вырисовывалась картинка похожая на квадраты IP-blocks
как любят рисовать в аналитике провайдеров интернета.

Разумеется моя картинка была не такая красивая т.к. заполнялась змейкой а не Гилбертом.



Но я стал думать о менеджменте диапазонов. И чтоб сиквенсы были инкрементные и декрементные
ради экономии свободных пространств. Хотелось нарисовать тулзу для менеджмента но... тут пришел
коронавирус и кастомер что данное направление не будет развивать. :)
...
Рейтинг: 0 / 0
акка или кафка?
    #39980142
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
не уверен насколько это консервативное решение юзать айди от базы.
тут надо всё взвесить
вот мне это понравилось
Код: sql
1.
postgres=> insert into t (x) values ('a'),('b'),('c') returning id, x;


сокращает число обращений
но в твоём случае - вариант очень и очень спорный.
использовать генерируемые uuid , а скока времени затрачивается на генерацию uuid?
а насколько быстр поиск по uuid? ведь надо хранит uuid не в varchar , а бинари.
т.е. ещё и преобразовывать varchar от клиента в бинари для селекта
как бы всё это мелочи , но в них и прячется некто...
...
Рейтинг: 0 / 0
акка или кафка?
    #39980164
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

у еня был проект где были байтарраи в качестве пк. я до сих пор не пойму зОчем. я убежал оттуда через месяц. это был какой то бред кобылы.
это какбы самая передовая технология:
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2570145300346198113 a GUID should be a 16 byte raw (hopefully they are not using a 32 byte varchar2..) and will perform adequately as a primary key.
...
Рейтинг: 0 / 0
акка или кафка?
    #39980907
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД оказалась на хдд
...
Рейтинг: 0 / 0
192 сообщений из 192, показаны все 8 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / акка или кафка?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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