Каковы отношения между блокированием, блокировкой и уровнями изоляции?

Я понимаю немного о блокировании Oracle - как обновления блокируют другие обновления, пока транзакция не завершается, как устройства записи не блокируют читателей и т.д.

Я понимаю понятие пессимистических и блокировки optimisic и типичных банковских примеров из учебника о потере потерянных обновлений и т.д.

Я также понимаю уровни изоляции транзакции JDBC, где мы могли бы сказать, например, мы довольны наблюдением незафиксированных данных.

Я немного нечеток однако о том, как эти понятия связаны и взаимодействуют. Например:

  • Oracle, обеспечивающая пессимистическую или оптимистическую блокировку по умолчанию (это просто, кажется, блокирует отдельное обновление на основе экспериментов на двух сессиях ЖАБЫ.)
  • Если бы, поскольку я подозреваю, это понятия прикладного уровня, почему я перешел бы к проблеме реализовать стратегию блокировки, когда я могу позволить базе данных синхронизировать обновления транзакции так или иначе?
  • Как делают уровни изоляции транзакции (который я установил на соединении), изменяют поведение базы данных когда другие клиенты помимо моего приложения получить доступ с различными уровнями изоляции.

Любые слова для разъяснения этих тем действительно ценились бы!

6
задан Brian 6 August 2010 в 17:49
поделиться