Информация об изменениях

Сообщение Re[3]: как разрешать коллизии от 11.12.2015 11:14

Изменено 11.12.2015 11:22 Qulac

Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, Qulac, Вы писали:


Q>>Если Вы все запросы к бд оборачиваете в транзакции с уровнем изоляции readcommitted, целостность базы у Вас не нарушится.


Z>Очень неоднозначное заявление. Что имеется в виду под целостностью базы? То, что из нее данные можно прочитать? Так тут любой уровень транзакций подойдет, можно даже вообще без них обойтись, СУБД все равно гарантирует целостность базы.


Подойдет любой, но readcommitted дает возможность считывать целостные данные, т.е. с точки зрения пользователя, она будет оставаться целостной.

Z>На практике, чтение-редактирование-запись данных в большинстве случаев невозможно произвести в рамках одной транзакции. Безопасность параллельного редактирования достигается пессимистичными и оптимистичными блокировками для определения конфликта редактирования. Какую из них следует использовать может подсказать только анализ бизнес-требований. После определения конфликт надо разрешить, эта задача тоже не имеет универсального рецепта.


Это мы знаем, для этого и различают бизнес — тразнзакции и системные транзакции.
Re[3]: как разрешать коллизии
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, Qulac, Вы писали:


Q>>Если Вы все запросы к бд оборачиваете в транзакции с уровнем изоляции readcommitted, целостность базы у Вас не нарушится.


Z>Очень неоднозначное заявление. Что имеется в виду под целостностью базы? То, что из нее данные можно прочитать? Так тут любой уровень транзакций подойдет, можно даже вообще без них обойтись, СУБД все равно гарантирует целостность базы.


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

Z>На практике, чтение-редактирование-запись данных в большинстве случаев невозможно произвести в рамках одной транзакции. Безопасность параллельного редактирования достигается пессимистичными и оптимистичными блокировками для определения конфликта редактирования. Какую из них следует использовать может подсказать только анализ бизнес-требований. После определения конфликт надо разрешить, эта задача тоже не имеет универсального рецепта.


Это мы знаем, для этого и различают бизнес — тразнзакции и системные транзакции.