|
акка или кафка?
|
|||
---|---|---|---|
#18+
mayton Он хочет перенести весь биллинг в аппликейшен. Опасная штука IMHO. У сырого апликейшена нет гарантий во Durability. Что Андрейка будет делать после перегрузки по Power? Или он возложет эту задачу на серверы JMS/MQ. Но у них тоже нет этих гарантий. Вернее они слабые. Слабее чем у DBMS. Так у меня не биллинг)) еще раз. Основная цель приложения - процессинг данных и возврат результата клиенту. Сохранение данных - это цель с наименьшим приоритетом. Не обязательно условно сразу. Требования к системам бывают разными. В моем случае они таковы. Не надо требовать то чего не требуется) Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро. Плюс опять же. Мне надо будет из батча вытряхнуть все новые айди записей раздать их всем ожидающим по каким то там признакам причем я не уверен что батчи это умеют. Эээ да харош)) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 00:21 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT Мне надо будет из батча вытряхнуть все новые айди записей если делать "стандартно" это два обращения к базе - инсерт и селект через одно обращение - это только хранимка. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 08:30 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро. Если лить батчами, то в сравнении с твоими 600 вставками в секунду, throughput возрастет не на 20%, а на пару порядков (десятичных) + в базе лишней конкуренции не будет и оно сможет заниматься более нужными делами. Заниматься онанизмом с выяснением того что вставилось тоже не нужно: достаточно идентификаторы заранее генерить (ну там UUID или иметь пул идентификаторов из последовательности) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 08:40 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
вадя чтобы вытянуть id - надо получать id после каждого инсерта, иначе получишь id только последней вставки. если делать "стандартно" это два обращения к базе - инсерт и селект через одно обращение - это только хранимка. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 08:50 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Андрей Панфилов в MySQL? да и в mssql и что в итоге? только последний id ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 09:43 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Андрей Панфилов andreykaT Батчинг.. Ну вколочу я батчинг а он даст перформанс + 20% - это время в ведро. Если лить батчами, то в сравнении с твоими 600 вставками в секунду, throughput возрастет не на 20%, а на пару порядков (десятичных) + в базе лишней конкуренции не будет и оно сможет заниматься более нужными делами. Заниматься онанизмом с выяснением того что вставилось тоже не нужно: достаточно идентификаторы заранее генерить (ну там UUID или иметь пул идентификаторов из последовательности) Да. По ууид это единственное тут решение. Отвязываемся от базы и спим спокойно. Насчет батчинга. Еще раз. Я не файл ксв в базу импортирую. Я с живым и непредсказуемым трафиком работаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 09:48 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 09:50 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT По ууид это единственное тут решение ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 09:52 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT Где результат одного это данные (ФК) для другого. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 09:53 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
вадя да и в 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:14 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:26 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, не надо путать драйвер и возможности субд ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:33 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT это всё равботает до тех пор пока тебе клиенту скажем не надо вернуть айдиху сущности которую назначает база. Это проблемы пацанов, у которых всё в бд. У них база не возвращает никаких id. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:37 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Zzz79 а зачем клиенту в реал тайме id сущности? Понятно. Не можем == не нужно. Классика ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:38 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Zzz79 все решение в одной строчке конфига Как, у вас, говнокодеров, всё просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:41 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
crutchmaster Понятно. Не можем == не нужно. Классика ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:42 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT, Не помогут тебе кафки. Всё прётся в базу, рано или поздно она опять ляжет по этой или другой причине. Можно накачивать твою бд стероидами, но ты уже понял, что проще придумать что-то, чтобы этого не делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 10:57 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
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 комнат, правда, рассеянных в полном беспорядке по всей Москве и при этом без использования пятого измерения )) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 12:18 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
andreykaT Насчет инсертов. У меня может быть 2-3 инсерта. Где результат одного это данные (ФК) для другого. Причем в зависимости от типа данных это может быть как 1 инсерт так и 2-3-4 Я шизею дорогая редакция. И как это соотносится с начальным постом: Тот-же-авторлогика приложения проста - юзер приходит с данными, бэк по ним что-то там считает-собирает с разных источников - выдает ответ юзеру и параллельно сохраняет результат в базу если вдруг когда-нибудь юзер захочет эти данные пересмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 12:19 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Есть подозрение, что проблема не в базе, а в hibernate головного мозга, на фоне прогрессирующих акка и каффка симптомов ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 12:25 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Я тоже не понимаю смысла вопроса. Если нагрузка на систему вырастатет, то сюрприз! надо ее переписывать. Как показывает практика если разница в объемах обработки увеличивается на порядок, то прежние архитектурные принципы уже не подходят, и их надо пересматривать. Что у тебя за приложение и что оно делает совершенно непонятно, поэтому это тебе лучше знать. Что можно точно сказать - то все эти, вот тут подкрутим, там добавим, поменяем технологию, но не будем трогать основную логику - это развод для лохов, оно так не работает. Можно ли построить систему на кафка и акка? Можно. Будет ли она лучше чем существующая? Да хз, смотря что надо. Вообще по скупому описанию я бы смотрел в сторону CQRS и возможно двумя хранилищами, одно оптимизированное на инсерт, второе на селект. Но опять же непонятны условия fault tolerance, resilence, availability и eventual consistency, а без всего этого - как пальцем в небо ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 12:25 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Есть подозрение, что проблема не в базе, а в hibernate головного мозга, на фоне прогрессирующих акка и каффка симптомов Приложение на слике ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 12:38 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
забыл ник Я тоже не понимаю смысла вопроса. Если нагрузка на систему вырастатет, то сюрприз! надо ее переписывать. Как показывает практика если разница в объемах обработки увеличивается на порядок, то прежние архитектурные принципы уже не подходят, и их надо пересматривать. Что у тебя за приложение и что оно делает совершенно непонятно, поэтому это тебе лучше знать. Что можно точно сказать - то все эти, вот тут подкрутим, там добавим, поменяем технологию, но не будем трогать основную логику - это развод для лохов, оно так не работает. Можно ли построить систему на кафка и акка? Можно. Будет ли она лучше чем существующая? Да хз, смотря что надо. Вообще по скупому описанию я бы смотрел в сторону CQRS и возможно двумя хранилищами, одно оптимизированное на инсерт, второе на селект. Но опять же непонятны условия fault tolerance, resilence, availability и eventual consistency, а без всего этого - как пальцем в небо +1 к CQRS. Но это надо обсуждать а уровне бизнес-постановки. Требования - сильно поменяются. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 14:02 |
|
акка или кафка?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Who is слик ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 14:16 |
|
|
start [/forum/topic.php?fid=59&msg=39978776&tid=2120741]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
5ms |
others: | 13ms |
total: | 160ms |
0 / 0 |