Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Организация процессов обработки данных в БД. Ограничения целостности.



Проблема целостности заключается в обеспечении правильности данных БД в любой момент времени. Она может быть нарушена в следующих случаях:

▪ при вводе и обновлении, когда подаются неверные сведения;

▪ когда данными пользуются одновременно несколько пользователей;

▪ при сбоях АПС.

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

В правильно спроектированной СУБД выполняются два основных ограничения целостности:

• структурные ограничения (задаются функциональными связями и проверяются путем проверки равенства значений БД);

• ограничения реальных значений. Требуют, чтобы значения поля принадлежали некоторому диапазону, либо это зависимость между значениями некоторых полей (типы данных и маски ввода). Ограничения могут задаваться администратором БД в любой момент, но СУБД может не принять ограничение, если в системе присутствуют записи, не удовлетворяющие заданному требованию.

Ограничения различаются по уровню сложности:

Ø ограничения на значение поля, например: запрет ввода нулевого значения, запрет пустого поля, запрет на диапазон, запрет на список;

Ø ограничения на совокупность атрибутов строки, например должность – разрядные ставки, края – города;

Ø ограничения одновременно на множество строк.

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

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

Транзакция должна обладать четырьмя свойствами:

1. Атомарность (неделимость), т. е. выполнение как одинарной операции доступа к БД, при этом либо должна выполняться полностью или не выполняться совсем.

2. Согласованность – гарантирует взаимную целостность данных после окончания обработки транзакций.

3. Изолированность, т. е. каждая транзакция может изменять данные, которые временно находится в несогласованном состоянии. При этом доступ других транзакций к этим данным запрещен, пока транзакция не завершится.

4. Долговечность – если транзакция выполнена успешно, то изменения не будут потеряны.

Мониторы обработки транзакций (Transaction Processing Monitor – TPM) – это программные системы, которые относятся к посредническому или промежуточному программному обеспечению, решающие задачу эффективного управления информационно-вычислительными ресурсами в распределенной системе.

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

▪ масштабируемость;

▪ поддержку функциональной полноты и целостности приложений;

▪ достижение максимальной производительности при обработке данных при невысоких стоимостных показателях;

▪ поддержку целостности данных в гетерогенной среде.

TPM опираются на трехзвенную модель «клиент-сервер». На современном рынке мониторов транзакций основными «действующими лицами» являются такие системы, как ACMS (DEC), CICS (IBM), TOP END (NCR), TUXEDO Sytem (Novell).

 При реализации транзакций возникают следующие проблемы:

Ø потеря обновлений (в БД фиксируется только изменения одного пользователя, остальные теряются);

Ø чтение незафиксированных данных.

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

Реализуется этот механизм через систему блокировок: СУБД блокирует часть БД, к которой обращается транзакция до момента её фиксации, т. е. вторая транзакция становится в очередь ожидания. Чем больше блокируемый элемент, тем медленнее обрабатывается транзакция. В системах OLTP обычно блокируется строка, при этом транзакции могут попадать в ситуацию взаимной блокировки. Для предотвращения описанного явления СУБД периодически опрашивает блокировки, в случае положительного ответа одна из транзакций прерывается. Для более удобной работы допускаются блокировки совместного использования данных: параллельно работающим пользователям запрещается изменять данные, но разрешается их выборка.

Для решения проблем совместного использования данных можно использовать тиражирование данных в системах с распределенным доступом. Эта технология предполагает отказ от распределенности данных, при этом в каждом узле располагается своя копия БД. Средства, обеспечивающие этот подход, должны поддерживать согласованное состояние БД путем копирования изменений. Процесс переноса изменений исходной БД в БД отдельных узлов называется тиражированием данных. Эти функции выполняет определенный модуль – сервер тиражирования (репликатор). Схема его работы заключается в следующем: полное обновление содержимого БД на удаленных серверах (схема с полным обновлением) или обновление только изменяющихся данных (схема с быстрым обновлением). Если нет необходимости постоянно обновлять данные, то репликатор накапливает изменения и копирует их в нужный момент.

Современные технологии БД предъявляют определенные требования в области архитектуры. До недавнего времени выделялись три класса задач:

Ø задачи оперативной обработки транзакций;

Ø задачи пакетной обработки;

Ø задачи принятия решений.


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 677; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь