Роль транзакции при многопользовательском режиме работы СБиС++ |
Поддержание механизма транзакций – обязательное условие даже при однопользовательском режиме работы в СБиС++. Но понятие транзакции гораздо существеннее при многопользовательском режиме работы. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый пользователь может в принципе ощущать себя единственным пользователем системы СБиС++.
Но есть одна особенность, которой не следует пренебрегать: длительные операции в одну транзакцию заключать не следует. В этом случае, данные, к которым попытаются получить доступ другие пользователи, будут заблокированы, и им придётся ждать длительное время, пока транзакция выполнится и они получат доступ. Лучшим решением в этом случае будет сначала разделить операции, а потом последовательно запускать транзакции. Если удаётся добиться последовательного выполнения серии транзакций, то для каждого пользователя, по инициативе которого образована транзакция, присутствие других транзакций будет незаметно (если не считать некоторого замедления работы для каждого пользователя по сравнению с однопользовательским режимом).