Представление применения транзакций. Показание стратегий изоляции, преимуществ и недостатков. Анализ применения транзакций для различных типов приложений, преимущества одних типов транзакций по отношению к другим. Пример базы данных Microsoft SQL Server.
Аннотация к работе
Проектирование транзакционной изолированности в различных типах приложений на примере базы данных Microsoft SQL ServerВ данной работе представлено проектирование транзакционной изолированности в различных типах приложений на примере базы данных Microsoft SQL Server. В данной статье представлены случаи применения транзакций, показаны стратегии изоляции, их преимущества и недостатки. Также в работе проанализированы случаи применения транзакций для различных типов приложений, показаны преимущества одних типов транзакций по отношению к другим. DESIGNING TRANSACTIONAL ISOLATION IN VARIOUS TYPES OF APPLICATIONS USINGДля рассмотрения механизма работы стратегий транзакций будем считать, что существует два пользователя: первый пишет в базу данных и его называют "писатель", второй читает из базы данных и его называют "читатель" (данная терминология является общепринятой, поэтому для понятности будем использовать именно ее). По сути, рассмотрим обычную ситуацию с начислением зарплаты на карточку, где "читатель" вставляет карточку в банкомат и пытается посмотреть средства на ней, а "писатель 2 переводит деньги на карточку "читателю" в этот момент. В этот момент "писатель" решил перевести деньги "читателю" на счет, но транзакцию не закончил, то есть не написал commit или rollback. В данном случае, если "писатель" начал работать со счетом "читателя", а "читатель" решил посмотреть свой счет, то он попадет в блокировку. Если "читатель" начал смотреть свой счет и увидел определенную сумму денег, а "писатель" решил перевести деньги в этот момент, то при повторном просмотре своего счета "читатель" увидит уже другую сумму денег.Рассмотрены случаи применения транзакций, описаны оптимистическая и пессимистическая стратегии проектирования транзакций, описаны их преимущества и недостатки, а также показан выбор конкретных транзакций для эффективной работы различного рода приложений.