SQL запросы. Проблемы с выполнением параллельных SQL транзакций. HD

14.12.2016
Рубрика SQLite на сайте: http://zametkinapolyah.ru/zametki-o-m... Текстовая версия: http://zametkinapolyah.ru/zametki-o-mysql/tema-15-tranzakcii-v-sql-na-primere-bazy-dannyx-sqlite-svojstva-acid-i-urovni-izolyacii-tranzakcij-v-sqlite3.html Паблик блога в ВК: https://vk.com/zametkinapolyah Тематическая группа в ВК: https://vk.com/zametki_bd Помощь проекту: WMR: R288272666982 WMZ: Z293550531456 Яндекс.Деньги: 410011531129223 Ранее мы упоминали о том, что транзакции должны быть изолированы, а также мы сказали, что полная изоляция транзакции – очень дорогая операция, поэтому было принято разделение по степени изолированности. Чем выше уровень изолированности транзакции, тем выше точность и согласованность данных, но минус в том, что может уменьшится число параллельных транзакций, которые выполняются СУБД. Также при выполнении параллельных транзакций в базе данных могут возникать некоторые проблемы. 1. Потерянное обновление (lost update). Если две или более, запущенных параллельно транзакции пытаются модифицировать одни и те же данные, то все вносимые изменения, кроме первой транзакции, будут потеряны. 2. Неповторяющееся чтение (non-repeatable read). При повторном чтении в рамках одной транзакции ранее прочитанные данные оказываются изменёнными. 3. Грязное чтение (dirty read). Данная проблема возникает в том случае, когда вы делаете выборку данных, которые были изменены транзакцией, но в дальнейшем произойдет откат транзакции и эти изменения не подтвердятся. 4. Фантомное чтение (phantom reads). Представим, что у нас запущено две транзакции, первая лишь читает данные из базы данных, вторая манипулирует данными, например: добавляет строки, удаляет данные или их модифицирует. Допустим, что в первой транзакции условия выборки данных всегда одинаковые, но результаты могут оказаться разными, так как вторая транзакция изменяет данные в таблицах. Справиться с подобными проблемами при выполнении параллельных транзакций помогают блокировки и изолированность транзакций.

Похожие видео

Показать еще