27 Обеспечение надежности работы ИС. Транзакции. OLTP-системы.
Надежность- свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, ремонтов, хранения и транспортирования (ГОСТ 27.002-83).
Транзакция - группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена целиком либо успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Иными словами транза?кция это операция перевода БД из одного непротиворечивого состояния в другое непротиворечивое состояние.
Свойства транзакции:- Atomicity (атомарность): определяет, что транзакция является наименьшим, неделимым блоком алгоритма изменения данных. Другими словами, любые части (подоперации) транзакции либо выполняются все, либо не выполняется ни одной такой части. Поскольку на самом деле невозможно одновременно и атомарно выполнить последовательность команд внутри транзакции, вводится понятие «отката» (rollback): если транзакцию не удаётся полностью завершить, результаты всех до сих пор произведённых действий должны быть отменены и система возвращается в исходное состояние.- Consistency (непротиворечивость): по окончанию транзакция оставляет данные в непротиворечивом состоянии.- Isolation (изоляция): во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Например, если транзакция изменяет сразу несколько полей в базе данных, то другой запрос, выполненный во время выполнения транзакции, не должен вернуть одни из этих полей с новыми значениями, а другие с исходными.- Durability (долговечность): независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, останутся сохранёнными после возвращения системы в работу. Другими словами, если пользователь получил подтверждение от системы, что транзакция выполнена, он должен быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.
В идеале транзакции разных пользователей должны выполняться так, чтобы создавалась иллюзия, что пользователь текущей транзакции — единственный. Однако в реальности, по соображениям производительности и для выполнения некоторых специальных задач, СУБД предоставляют различные уровни изоляции транзакций.
OLTP (Online Transaction Processing) — обработка транзакций в реальном времени. OLTP система – ИС, ориентированная на обработку небольших по размерам и сложности транзакций, идущих большим потоком. OLTP-системы предназначены для ввода, структурированного хранения и обработки информации (операций, документов) в режиме реального времени.
OLTP-приложениями охватывается широкий спектр задач во многих отраслях — банковские и биржевые операции, в промышленности — регистрация прохождения детали на конвейере, фиксация в статистике посещений очередного посетителя веб-сайта, автоматизация бухгалтерского, складского учёта и учёта документов и т. п. Приложения OLTP, как правило, автоматизируют структурированные, повторяющиеся задачи обработки данных, такие как ввод заказов и банковские транзакции.
OLTP-системы проектируются, настраиваются и оптимизируются для выполнения максимального количества небольших транзакций за короткие промежутки времени. Как правило, большой гибкости здесь не требуется, и чаще всего используется фиксированный набор надёжных и безопасных методов ввода, модификации, удаления данных и выпуска оперативной отчётности. Основным показателем эффективности является количество транзакций, выполняемых за секунду. Другой важной характеристикой OLTP-системы является время ответа на запрос. Для удовлетворения таких требовий на уровне архитектуры данных прибегают к сильной нормализации. Обычно аналитические возможности OLTP-систем сильно ограничены (либо вообще отсутствуют), так как выполнение сложных аналитических запросов противорецит концепции быстрой работы в реальном времени. Для OLTP систем крайне важной характеристикой является надежность работы и сохранение данных при воздействии различных внешних неблагоприятных факторов.