- •Иерархическая топология
- •Шинная или горизонтальная топология.
- •Линии связи в лвс. Характеристики линий связи.
- •3.Маршрутизация в сетях
- •3.Методы маршрутизации
- •Классификация лвс
- •5.Способы повышения производительности лвс
- •Цели занятия
- •Расширение локальных сетей
- •Репитеры
- •Принцип работы
- •Некоторые соображения
- •Отсутствие изоляции и фильтрации
- •Принцип работы
- •Создание таблицы маршрутизации
- •Удаленные мосты
- •Различия между мостами и репитерами
- •Некоторые соображения
- •Принцип работы
- •Выбор маршрутов
- •Типы маршрутизаторов
- •Различия между мостами и маршрутизаторами
- •Широковещательные пакеты
- •Множественные пути
- •Заключение
- •Мосты-маршрутизаторы
- •Основные характеристики надежности аппаратных средств вычислительной техники
- •Методика расчета надежности невосстанавливаемых изделий
- •Пример расчёта надежности невосстанавливаемого изделия – блока аппаратуры, выполненного на интегральных схемах
- •Методика расчета надежности восстанавливаемых изделий и систем
- •9. Модели «клиент—сервер» в технологии баз данных
- •10.Двухуровневые модели
- •13.Модель сервера приложений
- •14. Модели серверов баз данных
- •16.Распределенные базы данных и требования к ним
- •Независимость от центрального узла.
- •Непрерывное функционирование
- •Независимость от расположения
- •Обработка распределенных запросов
- •Управление распределенными транзакциями
- •Независимость от аппаратного обеспечения
- •19. Классификация распределенных систем. Централизация и децентрализация.
- •20.Классификация распределенных систем по способам распределения данных
- •21.Классификация распределенных систем по типу распределения процессоров (аспект обработки).
- •22. Распределение по функциям
- •Распределение по системам
- •23. Комбинированные системы
- •24. Горизонтальное распределение
- •Многоуровневые архитектуры клиент-сервер
- •Общие сведения об архитектуре клиент-сервер
- •Клиенты и серверы локальных сетей Клиент.
- •26. Основные проблемы архитектуры "клиент-сервер"
- •Достоинства и недостатки системы клиент/сервер
- •27.Распределенные информационные системы и обработка транзакций Понятие транзакции в информационной системе.
- •Свойства транзакции.
- •28. Выполнение транзакций.
- •Откат и фиксация транзакций.
- •29.Механизм блокировок. Уровни и типы блокировок.
- •30. Протокол двухфазовой фиксации транзакций
- •31. Стратегии обработки транзакций
- •32. Методы работы в условиях перегрузки Причины перегрузок в сети.
- •Действия по устранению перегрузок.
- •Алгоритмы устранения перегрузок в системах без обратной связи. Алгоритм leaky bucket ("дырявое ведро")
- •Алгоритм Token Bucket ("маркерное ведро")
- •Методы устранения перегрузок в системах с обратной связью.
- •Метод управления разрешением.
- •Метод управления потоком с использованием пакетов блокировки
- •Метод «честной очереди».
- •Метод «скользящее окно»
- •Метод отбрасывания пакетов
- •34.Программные средства лвс. Сетевые ос. Многослойная модель сети
- •Структура сетевой операционной системы
- •Сетевое программное обеспечение ДрайверПлата сетевого адаптера
- •35. Функциональные роли компьютеров в сети
- •36. Одноранговые сетевые ос и ос с выделенными серверами
- •37. Функции сетевых операционных систем.
- •38. Управление вычислительной сетью. Администрирование сети.
- •Все это означает, что после установки сетью необходимо управлять. Управляемость
- •39. Управление программно-аппаратным комплексом сети.
- •Диагностика вс
- •40. Программное обеспечение для управления сетью.
- •41. Управление пользователями.
- •Обучение пользователей.
- •Рекомендации по проектированию корпоративных сетей.
Откат и фиксация транзакций.
Фиксация транзакции - это действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции. До тех пор, пока транзакция не зафиксирована, возможно аннулирование этих изменений, восстановление базы данных в то состояние, в котором она была на момент начала транзакции. Фиксация транзакции означает, что все результаты выполнения транзакции становятся постоянными. Они станут видимыми другим транзакциям только после того, как текущая транзакция будет зафиксирована. До этого момента все данные, затрагиваемые транзакцией, будут "видны" пользователю в состоянии на начало текущей транзакции.
Если в процессе выполнения транзакции случилось нечто такое, что делает невозможным ее нормальное завершение, база данных должна быть возвращена в исходное состояние. Откат транзакции - это действие, обеспечивающее аннулирование всех изменений данных.
Откат и фиксация транзакций становятся возможными благодаря журналу транзакций. В него заносится информация о каждой транзакции к базе данных. Она используется для отката транзакций и восстановления состояния базы данных.
Журнал транзакций используется следующим образом. Известно, что все операции над реляционной базой данных суть операции над строками таблиц. Следовательно, для обеспечения отката таблиц к предыдущим состояниям достаточно хранить не состояния таблицы, а лишь те ее строки, которые подверглись изменениям.
При выполнении любого оператора SQL, который вносит изменения в базу данных, СУБД автоматически заносит очередную запись в журнал транзакций. Запись состоит из двух компонентов: первый - это состояние строки до внесения изменений, второй - ее же состояние после внесения изменений. Только после записи в журнал транзакций СУБД действительно вносит изменения в базу данных. Если после данного оператора SQL был выполнен оператор COMMIT, то в журнале транзакций делается отметка о завершении текущей транзакции. Если же после оператора SQL следовал оператор ROLLBACK, то СУБД просматривает журнал транзакций и отыскивает записи, отражающие состояние измененных строк до внесения изменений. Используя их, СУБД восстанавливает те строки в таблицах базы данных, которые были изменены текущей транзакцией, - таким образом, аннулируются все изменения в базе данных.
29.Механизм блокировок. Уровни и типы блокировок.
Одной из основных проблем многопользовательских СУБД является организация одновременного доступа к одним и тем же данным множества пользователей с помощью механизма транзакций. Это такие проблемы, как потеря изменений, незафиксированные изменения.
Потеря изменений происходит в ситуации, когда две или несколько программ читают одни и те же данные из базы данных, вносят в них какие-либо изменения и затем пытаются одновременно записать результат по прежнему месту. Разумеется, в базе данных могут быть сохранены изменения, выполненные только одной программой, - любые другие изменения будут потеряны.
Проблема незафиксированных изменений возникает в случае, когда в процессе выполнения транзакции одной программой в данные были внесены изменения и тут же прочитаны другой программой, однако затем в первой программе транзакция была прервана оператором ROLLBACK. Получается, что вторая программа прочитала неверные, незафиксированные данные.
Таким образом, необходим определенный механизм обработки транзакций, позволяющий устранить эти проблемы. Этот механизм опирается на следующие правила:
1) В процессе выполнения транзакции пользователь (или программа) "видит" только согласованные состояния базы данных. Пользователь (или программа) никогда не может получить доступ к незафиксированным изменениям в данных, достигнутым в результате действий другого пользователя (программы);
2) Если две транзакции, A и B, выполняются параллельно, то СУБД полагает, что результат будет такой же, как если бы: - транзакция A выполнялась бы первой, за ней была бы выполнена транзакция B; - транзакция B выполнялась бы первой, за ней была бы выполнена транзакция A.
Фактически такой механизм гарантирует, что каждый пользователь (программа), обращающийся к базе данных, работает с ней так, как будто не существует других пользователей (программ), одновременно с ним обращающихся к тем же данным. Для практической реализации этой дисциплины большинство коммерческих СУБД используют механизм блокировок.
Механизм блокировок работает следующим образом: при выполнении транзакции A СУБД блокирует фрагмент базы данных до тех пор, пока транзакция не будет зафиксирована или отменена. Если в процессе выполнения транзакции B делается попытка получить доступ к блокированным фрагментам, обработка транзакции приостанавливается и возобновляется только после того, как транзакция А завершается и освобождает блокированные ею данные.
Применение механизма блокировок связано с существенным замедлением обработки транзакций, вызванным необходимостью ожидания, когда освободятся данные, захваченные конкурирующей транзакцией. Можно попытаться минимизировать вызванный этим ущерб, локализуя фрагменты данных, захватываемые транзакцией. Так, СУБД может блокировать всю базу данных целиком (очевидно, что это неприемлемый вариант), часть базы данных, отдельную строку. Это называется уровнями блокировки. Чем меньше уровень блокировки, тем быстрее происходит обработка данных.
Помимо уровней блокировки, выделяют также тип блокировки. Конкурирующие транзакции могут захватывать данные, в то же время разрешая доступ к этим данным другим транзакциям, но только для чтения. Кроме того, транзакции могут блокировать данные, не допуская захвата тех же данных другими транзакциями, в том числе и только для чтения.
В современной литературе часто встречается термин OLTP (On-Line Transaction Processing), который обычно переводят как "оперативная обработка транзакций", то есть выполнение транзакций в режиме реального времени. Система OLTP должна, безусловно, учитывать жесткие временные требования, следующие из специфики прикладной области. Например, процедура покупки и оформления авиабилета должна происходить очень быстро и не задерживать очередь покупателей. Система, регистрирующая продажи билетов, должна обрабатывать одновременно несколько сотен запросов (транзакций), поступающих от множества продавцов авиабилетов. Требования по скорости обработки запроса могут быть очень жесткими - менее секунды, однако вызваны они требованиями реальной жизни. Область OLTP обычно - это массированный поток коротких и простых транзакций, исходящих от сотен и тысяч пользователей, а также (возможно) базы данных большого объема. Если говорить о прикладных областях OLTP - то это, прежде всего, центры кредитных карточек, системы резервирования авиабилетов и мест в отелях, телекоммуникационные системы и т.д.