что подразумевается под параллельным выполнением транзакций базы данных в многопользовательской системе? зачем нужен параллельный контроль? - PullRequest
10 голосов
/ 20 апреля 2011

что подразумевается под параллельным выполнением транзакций базы данных в многопользовательской системе? зачем нужен контроль параллелизма?

У меня проблемы с этим. и каковы некоторые неофициальные примеры для контроля параллелизма. любая помощь будет принята с благодарностью.

Ответы [ 3 ]

9 голосов
/ 20 апреля 2011

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

Вот пример того, как этот сценарий может привести к несоответствию:

Предположим, у нас есть два пользователя, Алиса и Боб, у обоих есть доступ к одному банковскому счету.Алиса хочет внести 100 долларов, а Боб хочет снять 200 долларов.Если предположить, что на счете 500 долларов, то вот как может выполнить выполнение, если они одновременно выполняют свои действия:

  1. Алиса получает начальную сумму (х = 500 долларов)
  2. Боб получает начальную сумму (х = 500 долларов)
  3. Алиса вкладывает 100 долларов (х + 100) = 600
  4. Боб снимает 200 долларов (х - 200) = 300
  5. Алиса сохраняет новый баланс (600 долларов)
  6. Боб сохраняет новый баланс (300 долларов)

Новый баланс после обоих действий должен составлять 400 долларов.Теперь база данных находится в несогласованном состоянии.

Управление параллелизмом может предотвратить несоответствия, предоставив Алисе временную «блокировку» базы данных, пока она не выполнит свое действие.

4 голосов
/ 20 апреля 2011

Ну, это так просто ... Допустим, у вас есть банк, и одновременно два человека пытаются снять 100 евро со счета, на котором 100 евро. Это одновременные операции.

Вы должны убедиться, что только одному из них удастся снять 100 €. Это обработка параллелизма.

0 голосов
/ 13 августа 2016

Мой английский не очень хорош, но я стараюсь изо всех сил ответить на упомянутый термин ..:)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...