powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / акка или кафка?
25 сообщений из 192, страница 3 из 8
акка или кафка?
    #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
25 сообщений из 192, страница 3 из 8
Форумы / Java [игнор отключен] [закрыт для гостей] / акка или кафка?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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