powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с базой данных в несколько потоков
12 сообщений из 37, страница 2 из 2
Работа с базой данных в несколько потоков
    #40080102
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Я про архитектуру. Ты понял? Расскажи.
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080103
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Не люблю когда предлагают один сорт колбасы. Как ты выше.
Предпочитаю выбор решений)
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080107
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timein
mayton
Если абстрагироваться от Oracle (заменить таблицу на очередь задач) - то сама задача
распределения тасок по джобам - решается в Java элементарно.

Так чего-же это мы так долго циклимся на способах блокирования datarows? Пускай 1 java-thread (singleton)
читает таблицу. Выдает задания. Проставляет статусы. И тогда целый технический пласт вопросов уходит.


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

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

Вы - правильно делали. Как говорят хороший индеец - мёртвый индеец.
Хорошая concurrency - ее отсутствие. Можно брать хеш от первичного ключа таблицы
и значение приводить по модулю количества потоков.

По поводу смены числа потоков - тоже стоит обсудить. Как часто эта смена происходит?
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080111
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкак сделать так, чтобы потоки не ухватили одновременно одну и ту же запись.
Не потоки, а запросы. Тода все упрощается.
"как сделать чтобы запросы не ухватили одновременно. Ну или транзакции.))))
Слово потоки все путает.
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080112
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Если абстрагироваться от Oracle (заменить таблицу на очередь задач) - то сама задача
распределения тасок по джобам - решается в Java элементарно.

Так чего-же это мы так долго циклимся на способах блокирования datarows? Пускай 1 java-thread (singleton)
читает таблицу. Выдает задания. Проставляет статусы. И тогда целый технический пласт вопросов уходит.


и как это должно работать с несколькими инстансами ?
зы. select for update skip locked решает задачу с минимумом телодвижений
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080114
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,
Несколько инстансов или приложений это разве нонсенс при работе с бд?
Теперь везде лочить предлагаете?
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080115
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
H5N1,
Несколько инстансов или приложений это разве нонсенс при работе с бд?
Теперь везде лочить предлагаете?

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

@mayton
я пока просто спрашиваю.
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080116
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,
Твои проблемы. Будь упёртым.
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080126
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
mayton
Если абстрагироваться от Oracle (заменить таблицу на очередь задач) - то сама задача
распределения тасок по джобам - решается в Java элементарно.

Так чего-же это мы так долго циклимся на способах блокирования datarows? Пускай 1 java-thread (singleton)
читает таблицу. Выдает задания. Проставляет статусы. И тогда целый технический пласт вопросов уходит.


и как это должно работать с несколькими инстансами ?
зы. select for update skip locked решает задачу с минимумом телодвижений

Мы несем накладные расходы на координацию обработки строк.

Я так считаю. Пока автор не убедил в обратном. Я ищу non-bloking решение.
Если я его не найду - я целиком и полностью соглашусь с предложением блокировать строки.
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080131
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Осталось только согласится с тобой.
Ох уж эти безальтернативщики)
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080216
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Я вот это его не понял
" у меня несколько подов, соответственно, несколько инстансов приложений")


Если чувак доехал до K8s то вполне возможно сумеет осилить и месседж брокера.
...
Рейтинг: 0 / 0
Работа с базой данных в несколько потоков
    #40080223
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka,
Ооо, дак это kubernetes)).
Тогда ты прав.
Очень стеснительный топик стартер)).
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с базой данных в несколько потоков
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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