Одна транзакция, много запросов

Одна транзакция, много запросов

В Firebird любая операция, запрашиваемая клиентом, должна появиться в контексте какой-либо активной транзакции. Одна транзакция в своих границах может включать один или много клиентских запросов и ответов сервера. Одна транзакция может использовать более одной базы данных, осуществляя операции чтения и записи во многих базах данных в процессе решения задачи. Задачи, создающие базы данных или изменяющие их физическую структуру (одиночный оператор DDL или пакет таких операторов), также используют транзакции. Клиент и сервер имеют свои роли.

* Роль клиента: клиенты инициируют все транзакции. Когда запущена транзакция, клиент ответственен за передачу запросов на чтение и запись данных, а также за завершение (подтверждение или откат) каждой запущенной им транзакции.

Одно клиентское соединение может иметь много активных транзакций.

* Роль сервера: задачей сервера является отслеживание каждой транзакции и поддержание согласованного вида базы данных для каждой транзакции в ее контексте. Он должен управлять всеми запросами по изменению базы данных так, чтобы

соответствующим образом обрабатывались конфликты и предотвращалось нарушение согласованности базы данных.

Рис. 25.1 в общих чертах иллюстрирует типичный контекст транзакции по чтению и записи от ее начала до завершения. Он показывает, как сервер управляет многими параллельными транзакциями независимо друг от друга, даже если другие транзакции являются активными в том же самом клиентском приложении.

Рис. 25.1. Контекст транзакции и независимость

В этом примере приложение может использовать транзакцию для выбора (чтения) наборов строк, любая из которых может быть выбрана пользователем для изменения или удаления. В той же самой транзакции могут быть добавлены новые строки. Запросы на изменение, добавление или удаление "посылаются" на сервер один за другим в процессе выполнения пользователем его задачи.

Атомарность модели

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Одна голова или много?

Из книги автора

Одна голова или много? Bell была права по крайней мере в одном: Hush-A-Phone отнюдь не пользовался бешеным спросом, и вряд ли можно было сказать, что он набирает популярность. Чтобы понять такую резкую реакцию AT&T и не считать ее невротической, нам нужно увидеть за скромным


О чем, когда и как много писать

Из книги автора

О чем, когда и как много писать Текстовый формат — основной для блогов и самый простой в реализации, поэтому каждый блогер должен владеть искусством написания текстов.Вопросы: о чем, через какой промежуток времени и в каком объеме писать в блог — волнуют очень многих


Фотографий много не бывает

Из книги автора

Фотографий много не бывает На странице товара должно быть как минимум несколько фотографий, сделанных в разных ракурсах, чтобы покупатель мог рассмотреть его со всех сторон.Вероятно, некоторые фото покажутся лишними и незначимыми, но если их будет недостаточно для


4. Одна голова хорошо, а две — лучше

Из книги автора

4. Одна голова хорошо, а две — лучше РезюмеРегулярно просматривайте код всей командой. Чем больше глаз — тем выше качество кода. Покажите ваш код другим и познакомьтесь с их кодом — это принесет пользу всем.ОбсуждениеРегулярное рецензирование кода другими членами


5. Один объект — одна задача

Из книги автора

5. Один объект — одна задача РезюмеКонцентрируйтесь одновременно только на одной проблеме. Каждый объект (переменная, класс, функция, пространство имен, модуль, библиотека) должны решать одну точно поставленную задачу. С ростом объектов, естественно, увеличивается


Вы и я – одна команда

Из книги автора

Вы и я – одна команда Публикации разработчиков новых технологий предназначены для очень требовательной аудитории (я должен знать это не понаслышке – ведь я один из них). Построение программных решений для любой платформы требует чрезвычайной детализации и учета


Одна база данных или много?

Из книги автора

Одна база данных или много? Один сервер Firebird- за исключением локального встроенного сервера под Windows - может управлять множеством баз данных через свою собственную физическую файловую систему. Для больших предприятий не является необычным использование нескольких баз


ТЕМА НОМЕРА: Проблема одна - итоги разные

Из книги автора

ТЕМА НОМЕРА: Проблема одна - итоги разные Автор: Родион Насакин Хакеры бывают разные. Одни совершают уголовно наказуемые деяния ради обогащения, другие же занимаются проблемами компьютерной безопасности по роду деятельности и/или по зову сердца. Но сколь бы разными они


Не только одна главная функция

Из книги автора

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


Ещё одна «ничего не стоящая» информация

Из книги автора

Ещё одна «ничего не стоящая» информация Помимо номера расчётного центра и внутренних номеров, какая еще, по-видимому, бесполезная информация может быть чрезвычайно ценной для вашего врага?Телефонный звонок Питера Абеля«Привет», сказал человек на другом конце линии.


Много лишнего

Из книги автора

Много лишнего Рассматривая снимки, на которых в кадр попадали посторонние объекты, не знаешь толком, на что смотреть, глазу не за что зацепиться. Трудно определить, что же вы хотели снять, что является главным на снимке. Основная идея снимка должна реализовываться


Ни одна политическая партия не принимает проблему всерьез

Из книги автора

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