Циклопедия скорбит по жертвам террористического акта в Крокус-Сити (Красногорск, МО)

Коллизия (базы данных)

Материал из Циклопедии
Перейти к навигации Перейти к поиску
← другие значения

В базах данных коллизия — событие, когда один пользователь запускает на выполнение транзакцию по изменению содержимого базы данных, а другой — на выборку из неё данных.

Суть явления[править]

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

Блокировки[править]

 → Блокировка (СУБД)

Решение проблемы возникновения коллизий обеспечивается механизмом блокировок, то есть передачей во временное эксклюзивное пользование одному пользователю или процессу объекта или фрагмента базы данных для выполнения транзакции. Объектом блокировки может быть база данных целиком, отдельная таблица, фрагмент таблицы, запись (строка) или ячейка. Блокирование может быть полным (запрещены все виды транзакций) или READONLY (разрешена выборка данных по запросу с помощью оператора SELECT).

См. также[править]