Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Организация процессов обработки данных в БД. Ограничения целостности.
Проблема целостности заключается в обеспечении правильности данных БД в любой момент времени. Она может быть нарушена в следующих случаях: ▪ при вводе и обновлении, когда подаются неверные сведения; ▪ когда данными пользуются одновременно несколько пользователей; ▪ при сбоях АПС. Решение проблем целостности необходимо рассматривать с программной и организационной точек зрения. Для решения первой проблемы необходимо выполнить ряд организационных мероприятий, которые будут следить за вводом информации в БД, пользователь должен знать правила ввода и ограничения. Для снятия второй и третьей проблем существуют стандартные средства СУБД или специальные программные модули. В правильно спроектированной СУБД выполняются два основных ограничения целостности: • структурные ограничения (задаются функциональными связями и проверяются путем проверки равенства значений БД); • ограничения реальных значений. Требуют, чтобы значения поля принадлежали некоторому диапазону, либо это зависимость между значениями некоторых полей (типы данных и маски ввода). Ограничения могут задаваться администратором БД в любой момент, но СУБД может не принять ограничение, если в системе присутствуют записи, не удовлетворяющие заданному требованию. Ограничения различаются по уровню сложности: Ø ограничения на значение поля, например: запрет ввода нулевого значения, запрет пустого поля, запрет на диапазон, запрет на список; Ø ограничения на совокупность атрибутов строки, например должность – разрядные ставки, края – города; Ø ограничения одновременно на множество строк. Все эти ограничения статистические, но при переходе БД из одного состояния в другое необходимо удовлетворять ограничениям целостности до начала всех изменений и после окончания всех, а не каждого. Такие ограничения называются отложенными, и относительно них вводится понятие транзакций. Транзакция – законченное с точки зрения пользователя действие над БД. В то же время это логическая единица работы системы. Транзакция реализует некоторую прикладную функцию, например перевод денег с одного счета на другой в банковской системе. Транзакция должна обладать четырьмя свойствами: 1. Атомарность (неделимость), т. е. выполнение как одинарной операции доступа к БД, при этом либо должна выполняться полностью или не выполняться совсем. 2. Согласованность – гарантирует взаимную целостность данных после окончания обработки транзакций. 3. Изолированность, т. е. каждая транзакция может изменять данные, которые временно находится в несогласованном состоянии. При этом доступ других транзакций к этим данным запрещен, пока транзакция не завершится. 4. Долговечность – если транзакция выполнена успешно, то изменения не будут потеряны. Мониторы обработки транзакций (Transaction Processing Monitor – TPM) – это программные системы, которые относятся к посредническому или промежуточному программному обеспечению, решающие задачу эффективного управления информационно-вычислительными ресурсами в распределенной системе. Они представляют собой гибкую, открытую среду для разработки и управления мобильными приложениями, ориентированными на оперативную обработку распределенных транзакций. К характеристикам TPM относят: ▪ масштабируемость; ▪ поддержку функциональной полноты и целостности приложений; ▪ достижение максимальной производительности при обработке данных при невысоких стоимостных показателях; ▪ поддержку целостности данных в гетерогенной среде. TPM опираются на трехзвенную модель «клиент-сервер». На современном рынке мониторов транзакций основными «действующими лицами» являются такие системы, как ACMS (DEC), CICS (IBM), TOP END (NCR), TUXEDO Sytem (Novell). При реализации транзакций возникают следующие проблемы: Ø потеря обновлений (в БД фиксируется только изменения одного пользователя, остальные теряются); Ø чтение незафиксированных данных. Для их решения существуют специальные механизмы обработки транзакций, которые основываются на следующих принципах: транзакция не имеет доступа к незафиксированным данным; результат совместного выполнения транзакций эквивалентен их последнему выполнению. Реализуется этот механизм через систему блокировок: СУБД блокирует часть БД, к которой обращается транзакция до момента её фиксации, т. е. вторая транзакция становится в очередь ожидания. Чем больше блокируемый элемент, тем медленнее обрабатывается транзакция. В системах OLTP обычно блокируется строка, при этом транзакции могут попадать в ситуацию взаимной блокировки. Для предотвращения описанного явления СУБД периодически опрашивает блокировки, в случае положительного ответа одна из транзакций прерывается. Для более удобной работы допускаются блокировки совместного использования данных: параллельно работающим пользователям запрещается изменять данные, но разрешается их выборка. Для решения проблем совместного использования данных можно использовать тиражирование данных в системах с распределенным доступом. Эта технология предполагает отказ от распределенности данных, при этом в каждом узле располагается своя копия БД. Средства, обеспечивающие этот подход, должны поддерживать согласованное состояние БД путем копирования изменений. Процесс переноса изменений исходной БД в БД отдельных узлов называется тиражированием данных. Эти функции выполняет определенный модуль – сервер тиражирования (репликатор). Схема его работы заключается в следующем: полное обновление содержимого БД на удаленных серверах (схема с полным обновлением) или обновление только изменяющихся данных (схема с быстрым обновлением). Если нет необходимости постоянно обновлять данные, то репликатор накапливает изменения и копирует их в нужный момент. Современные технологии БД предъявляют определенные требования в области архитектуры. До недавнего времени выделялись три класса задач: Ø задачи оперативной обработки транзакций; Ø задачи пакетной обработки; Ø задачи принятия решений. |
Последнее изменение этой страницы: 2019-05-08; Просмотров: 787; Нарушение авторского права страницы