В чем разница между уровнями изоляции транзакций и оптимистическим/пессимистическим управлением параллелизмом?JAVA

Программисты JAVA общаются здесь
Anonymous
В чем разница между уровнями изоляции транзакций и оптимистическим/пессимистическим управлением параллелизмом?

Сообщение Anonymous »

В настоящее время я изучаю основы транзакций базы данных и начал изучать управление параллелизмом. Однако я изо всех сил пытаюсь четко понять разницу между уровнями изоляции транзакций и оптимистическими/пессимистическими стратегиями управления параллелизмом.
Насколько я понимаю, в зависимости от выбранного уровня изоляции (например, Read Committed, Повторяемое чтение, Сериализуемый) могут применяться разные типы блокировки для предотвращения проблем одновременного выполнения между транзакциями.
В то же время существуют оптимистические и пессимистические. стратегии управления параллелизмом, которые, похоже, также определяют разные подходы к блокировке и разрешению конфликтов.
Именно здесь начинается мое замешательство:
  • Являются ли уровни изоляции транзакций и оптимистический/пессимистический контроль параллелизма фундаментально разными концепциями?
  • Являются ли это просто разными способами управления параллелизмом?
  • Или это взаимодополняющие концепции, где одна работает на другом уровне абстракции?
Например, если я выберу определенный уровень изоляции, подразумевает ли это уже определенную стратегию управления параллелизмом? Или можно ли применять оптимистический/пессимистический контроль независимо от уровня изоляции?
Я был бы очень признателен за концептуальное разъяснение того, как эти идеи соотносятся друг с другом. Заранее спасибо и извините, если это несколько простой вопрос.

Подробнее здесь: https://stackoverflow.com/questions/799 ... stic-pessi

Вернуться в «JAVA»