Управление параллельной обработкой Oracle

Управление параллельной обработкой  - одна из тех областей, в которых базы данных различаются. Именно этой области базы данных отличаются от файловой системы и друг от друга. Исключительно важно, чтобы приложение базы данных правильно работало в условиях параллельного доступа, но, тем не менее, о необходимости проверки выполнения этою требования часто забывают.

Технологии, которые прекрасно работают, когда все происходит последовательно, начинают работать значительно хуже, когда каждый пользователь стремится применить их одновременно. Отсутствие четкого представления о том. как механизмы управления параллельной обработкой реализованы в конкретной базе данных, приведет к следующим неприятностям:

 

  • нарушение целостности данных:
  • снижение скорости работы приложений даже при небольшом количестве пользователей:
  • снижение возможности масштабирования для поддержки большего числа пользователей. Обратите внимание: здесь не говорится "может..." или “вы рискуете...".

 

Это все это неизбежно произойдет при отсутствии соответствующей реализации управления параллельной обработкой, причем даже без вашего ведома. Отсутствие правильно реализованного управления параллельной обработкой приведет к нарушению целостности базы данных, поскольку какие-то функции, работающие в условиях изоляции, будут работать не так. как ожидалось, в ситуации наличия нескольких пользователей. Приложение будет работал, медленнее, чем должно, поскольку ему придется дожидаться своей очереди на получение ресурсов. Возможность масштабирования будет утеряна из-за проблем блокировки и соперничества. По мере того, как очереди доступа к ресурсам будут удлиняться, время ожидания будет становиться все больше и больше.

 

В качестве аналогии можно привести пробку на пункте взимания дорожного сбора. Если автомобили подъезжаю! по очереди, один за другим, движение не стопорится. Если же множество автомобилей подъезжает одновременно, начинает образовываться пробка. Более того, время ожидания увеличивается непропорционально количеству автомобилей на контрольном пункте. С определенного момента значительное дополни тельное время начинает тратиться на “разборки" с водителями, дожидающимися своей очереди, и на их обслуживание (в базе данных этом}' соответствует переключение контекста). Проблемы параллельной обработки наиболее трудны для отслеживания. Эта про¬блема аналогична выполнению отладки в многопоточной программе.

 

Программа может прекрасно работать и управляемой искусственной среде отладчика, но оказаться совершенно неработоспособной в реальной рабочей среде. Например, в условиях состязаний может оказаться, что два потока одновременно изменяют одну и ту же структуру данных. Подобные программные ошибки крайне трудно отследить и исправить. Если выполнить тестирование приложения только в условиях изоляции, а затем развернуть его для десятков параллельно работающих пользователей, скорее всего, это приведет к проявлению множества скрытых проблем параллельной обработки. Это касается и Oracle.

Вас заинтересует / Intresting for you:

Обновление до Oracle Database ...
Обновление до Oracle Database ... 5519 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:18:05
Поддерживаемые Oracle типы дан...
Поддерживаемые Oracle типы дан... 5694 просмотров Валерий Павлюков Wed, 24 Oct 2018, 08:00:37
Видеокурс по администрированию...
Видеокурс по администрированию... 10547 просмотров Илья Дергунов Mon, 14 May 2018, 05:08:47
Подключения Oracle
Подключения Oracle 17111 просмотров Antoni Tue, 21 Nov 2017, 13:18:05
Войдите чтобы комментировать