|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Я про архитектуру. Ты понял? Расскажи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 12:26 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Не люблю когда предлагают один сорт колбасы. Как ты выше. Предпочитаю выбор решений) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 12:32 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
Timein mayton Если абстрагироваться от Oracle (заменить таблицу на очередь задач) - то сама задача распределения тасок по джобам - решается в Java элементарно. Так чего-же это мы так долго циклимся на способах блокирования datarows? Пускай 1 java-thread (singleton) читает таблицу. Выдает задания. Проставляет статусы. И тогда целый технический пласт вопросов уходит. В рамках одного приложения я могу сделать один поток. Но у меня несколько приложений (пусть будет три), то есть мы получаем уже три потока, ходящих к базе данных. И тогда возвращаемся к вопросу, как сделать так, чтобы потоки не ухватили одновременно одну и ту же запись. Поправьте меня, пожалуйста, если это не совпадает с задачей - несколько потоков в одном приложении (хотя в одном приложении мне кажется все проще решить) Мы когда-то делали распределение задач по потокам на основе остатков от деления на количество потоков. Но тут есть засада, если количество потоков поменяется - как подхватить чужие брошенные задачи Вы - правильно делали. Как говорят хороший индеец - мёртвый индеец. Хорошая concurrency - ее отсутствие. Можно брать хеш от первичного ключа таблицы и значение приводить по модулю количества потоков. По поводу смены числа потоков - тоже стоит обсудить. Как часто эта смена происходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 12:46 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
авторкак сделать так, чтобы потоки не ухватили одновременно одну и ту же запись. Не потоки, а запросы. Тода все упрощается. "как сделать чтобы запросы не ухватили одновременно. Ну или транзакции.)))) Слово потоки все путает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 12:55 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
mayton Если абстрагироваться от Oracle (заменить таблицу на очередь задач) - то сама задача распределения тасок по джобам - решается в Java элементарно. Так чего-же это мы так долго циклимся на способах блокирования datarows? Пускай 1 java-thread (singleton) читает таблицу. Выдает задания. Проставляет статусы. И тогда целый технический пласт вопросов уходит. и как это должно работать с несколькими инстансами ? зы. select for update skip locked решает задачу с минимумом телодвижений ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 12:58 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
H5N1, Несколько инстансов или приложений это разве нонсенс при работе с бд? Теперь везде лочить предлагаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 13:05 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp H5N1, Несколько инстансов или приложений это разве нонсенс при работе с бд? Теперь везде лочить предлагаете? давай притворимся, что я тебе нагрубил и ты на меня обиделся ? реально твой понос не интересен и ни разу пользы не принес. @mayton я пока просто спрашиваю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 13:12 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
H5N1, Твои проблемы. Будь упёртым. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 13:14 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
H5N1 mayton Если абстрагироваться от Oracle (заменить таблицу на очередь задач) - то сама задача распределения тасок по джобам - решается в Java элементарно. Так чего-же это мы так долго циклимся на способах блокирования datarows? Пускай 1 java-thread (singleton) читает таблицу. Выдает задания. Проставляет статусы. И тогда целый технический пласт вопросов уходит. и как это должно работать с несколькими инстансами ? зы. select for update skip locked решает задачу с минимумом телодвижений Мы несем накладные расходы на координацию обработки строк. Я так считаю. Пока автор не убедил в обратном. Я ищу non-bloking решение. Если я его не найду - я целиком и полностью соглашусь с предложением блокировать строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 14:02 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
mayton, Осталось только согласится с тобой. Ох уж эти безальтернативщики) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 14:18 |
|
Работа с базой данных в несколько потоков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Я вот это его не понял " у меня несколько подов, соответственно, несколько инстансов приложений") Если чувак доехал до K8s то вполне возможно сумеет осилить и месседж брокера. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2021, 20:14 |
|
|
start [/forum/topic.php?fid=59&msg=40080111&tid=2120412]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
240ms |
get tp. blocked users: |
1ms |
others: | 363ms |
total: | 669ms |
0 / 0 |