![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
1. Проблемы, возникающие при параллельном доступе, и пути их решения.
1) проблема утраченных обновлений
Суть – пользователи параллельно обрабатывают одни и те же данные, поэтому запоминается только то обновление, которое было проведено последним.
2) проблема незафиксированности обновлений (преждевременного чтения)
Суть – первый пользователь может увидеть данные, которые уже были обновлены вторым пользователем, но эти обновления еще не были окончательно зафиксированы. Теперь в случае проведения отката вторым пользователем первый будет работать с ошибочными несуществующими данными.
3) неповторяющееся чтение и фантомная вставка возникают в случае проведения пользователем групповой обработки данных.
Суть – первая ситуация возникает, если в момент проведения групповой обработки в диапазоне уже считанного другим пользователем изменяется запись, вторая ситуация – если добавляется новая запись.
Пути решения
Блокировка заключается в запрещении некоторых операций над данными, если её обрабатывает другой пользователь.
Блокировки накладываются в соответствии с правилами совместимости блокировок, исключающими конфликты «чтение-запись» «запись-чтение» «запись – запись». Сериализуемость транзакций заведомо гарантируется, если блокировки, относящиеся к одновременно выполняемы транзакциям, удовлетворяют следующему правилу «ни одна блокировка от имени какой либо транзакции не должна устанавливаться, пока не будет снята ранее установленная». Иначе – двухфазовое блокирование.
Протокол двухфазной фиксации (блокировки) управляет процессом выполнения транзакций, затрагивающих несколько узлов БД. Главный принцип: исключение ситуации, в которой транзакция, охватывающая несколько узлов, на одних узлах завершается, а на других нет (т.е. вся транзакция целиком либо завершается, либо отменяется).
Обеспечивает
- согласованное и синхронное изменение распределенной БД параллельными транзакциями
- поддержку целостности и непротиворечивости данных
- предотвращение тупиковых ситуаций
- блокировку или возврат к исходной точке модификации во всех узлах.
Первая фаза: все части транзакции, выполняемые в разных узлах, уведомляют систему, что они готовы заблокировать данные.
Вторая фаза: система либо подает им сигнал на блокировку данных для их последующей модификации, либо осуществляет возврат к исходной точке выполнения транзакции в зависимости от того, возможно или невозможно заблокировать данные на всех узлах.
Уровни блокирования можно выделить в соответствии с блокируемыми единицами — БД, совокупность связных таблиц, таблица, совокупность связных записей, запись, поле.
Иногда реализуется динамическая схема блокировки, которая блокирует бо`льшую единицу и уменьшает область блокировки до уровня записи при обращении новых транзакций в данную область. Пессимистические блокировки запрещают доступ к данным, если они обрабатываются другой записью, и ставят новые обращения в очередь. Оптимистические разрешают параллельную обработку и обрабатывают возникающие конфликты по мере их поступления.
2.. ERWin. Особенности построения ER-модели.
ER-модель строится на уровне классов объектов, а не отдельных экземпляров объектов.
Каждому классу объектов в ER-модели присваивается уникальное имя. Именем класса объекта является грамматический оборот существительного (существительное, у которого могут быть прилагательные и предлоги). Если имя состоит из нескольких слов, то желательно, чтобы первым стояло существительное. Существительное должно употребляться в единственном, а не во множественном числе (например, ДИСЦИПЛИНА_ИЗУЧАЕМАЯ). Если в предметной области традиционно используются разные имена для обозначения какого-либо класса объектов (т.е. имеет место синонимия), то все они должны быть зафиксированы при описании системы, и затем одно из них выбирается за основное, и только оно должно в дальнейшем использоваться в ER-модели. Помимо имени класса объектов в ER-MO-дели может использо-ваться его короткое кодовое обозначение; для дальнейшего перехода к даталогической модели еще может указываться имя, которое будет использоваться при описании структуры базы данных.
При построении ER-модели желательно дать словесную интерпретацию каждой сущности, особенно если возможно неоднозначное толкование понятия.
Дата публикования: 2015-02-03; Прочитано: 638 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!