
- •Эволюция субд
- •История развития реляционных субд в России.
- •Историческая тенденция в создании информационных систем
- •Реляционная модель данных
- •Основные понятия теории реляционных бд
- •Целостность бд
- •Структурированный язык запросов
- •Программирование приложений для субд
- •Эволюция серверов бд
- •Общие требования аис
- •Активный сервер (3-поколение субд)
- •Процедуры бд
- •Правила (тригеры)
- •События в бд
- •Технология обработки данных в распределенных системах Технология распределения данных
- •Технология тиражирования данных
- •Сравнение технологий обработки данных в распределенной среде
- •Согласование субд – интерфейсов различных классов
- •Технология шлюзов Oracle.
- •Архитектура системы с использованием шлюза.
- •Механизм репликации oracle
- •Транзакции
- •Модель транзакции Sybase
- •Журнал транзакции
- •Механизм отката транзакций
- •Стерилизация транзакций
- •Распределенные транзакции.
- •Протокол двухфазной фиксации.
- •Уровни блокировки бд.
- •Блокировка баз данных.
- •Блокировка отношений.
- •Блокировка кортежей.
- •Блокировка страниц.
- •Требования к безопасности субд.
- •Привилегии доступа к отношению.
- •Существуют системные отношения.
- •Организация доступа к бд через прикладную программу.
- •Уровни изоляции данных при параллельном чтении.
- •Особенности при управлении доступом
- •Управление доступом к блокированным данным (informix)
- •Оптимизатор sql-запросов – компонента субд
- •Состав затрат времени на выполнение запроса
- •Оптимизатор Использует следующую информацию, которая хранится в системных отношениях:
- •Работа сервера с протоколированием плана запроса
- •Типовые приемы ускорения выполнения sql-запросов.
- •Способы доступа к записям Хеширование
- •Индексирование по первичному ключу.
- •Индексирование по вторичному ключу.
- •Организация индексных таблиц (случай одиночных записей в бд).
- •Технология взаимодействия объектов и программ.
- •Хранилища данных (Data Warehouse) и оперативный анализ данных (On Line Analytical Processing).
- •Современные Системы Поддержки Принятия Решений (сппр) используют:
- •Методика построения сппр
- •Разработка информационного обеспечения.
- •Свойства хранилища и витрин данных.
- •Многомерная модель данных.
- •Витрины, как многомерные модели данных
- •Средства построения аналитических систем.
- •Критерий выбора средства
- •Публикация бд в Интернет Характеристика Internet
- •Протоколы
- •Принципы работы в Internet
- •Технология работы приложения в сетях Intranet
- •Функции Web-сервера в Intranet
- •Интерфейс cgi
- •Пример сценария cgi.
- •Недостатки и достоинства использования cgi модулей.
- •Интерфейс Win cgi(реализация интерфейсаCgi для осWindows 3.1).
- •Интерфейс isapi/insapi.
- •Isapi фильтры.
- •Способы публикации б/д
- •Технологоя работы Web-приложения, использующего б/д.
- •Недостатки 2-ухуровневых Web-приложений.
Механизм отката транзакций
все записи журнала по независимой транзакции связываются в обратный список. Начало списка – запись о последнем изменении БД. Концом является первая запись. Этот список также рассматривается как транзакция.
выбирается определенная запись из списка.
выполняется противоположная по смыслу операция, вместо insert выполняется delete, вместо delete- insert, восстанавливается предыдущее состояние записей.
любая из этих операций также заносится в журнал. При успешном завершении отката в журнал заносится запись о конце транзакции связанной с откатом.
Стерилизация транзакций
Стерилизация – дисциплина обработки транзакций, опирается на следующие правила:
в процессе выполнения транзакции пользователь или программа “видит” только согласованные состояния БД, нельзя получить доступ к незафиксированным изменениям данных, достигнутым в результате действий другого пользователя (программы).
если 2 транзакции выполняется параллельно, то результат будет такой же, как если бы они выполнялись последовательно.
Распределенные транзакции.
Транзакция, выполнение которой заключается в обновлении данных на нескольких узлах сети, называется глобальной или распределенной транзакцией.
Протокол двухфазной фиксации.
Фаза1. (предварительное подтверждение).
Начинается, когда при обработке транзакции встречается оператор COMMINT.
Сервер РБД направляет уведомление “подготовится” к фиксации всем серверам локальных БД, выполняющим транзакцию.
Если, хотя бы один из серверов не откликнулся на уведомление, то сервер РБД отказывает локальные транзакции на всех узлах.
Если все серверы приготовились к фиксации, то переход к фазе 2.
Фаза2.(окончательное подтверждение).
Сервер РБД направляет команду ”зафиксировать” всем узлам, затронутым транзакцией. Если связь с локальной БД потеряна, то сервер РБД продолжает попытки завершить транзакцию, пока связь не будет восстановлена. Если связь есть, но хотя бы один отклик не получен, то сервер РБД дает команду откатить все локальные транзакции.
Элементы схемы доступа.
Субъект
(
|
|
|
Объект (табл., формы, отчеты и т.д.) |
Уровни блокировки бд.
Могут блокироваться: базы данных, таблицы, части таблиц (страницы), записи. В большинстве СУБД используются блокировки на уровни страниц (2-4 кб) и на уровне записей (повышается скорость обработки).
Транзакции могут захватывать данные, разрешая или не разрешая другим транзакциям доступ к этим данным для чтения. Это реализуется через тип блокировки (эксклюзивный или общедоступный) и уровнем изоляции данных.
Блокировка баз данных.
DATABASE имя_базы_данных [EXCLUSIVE] (ни какой другой пользователь не сможет подсоединиться к БД даже на чтение).
При изменении структуры БД, при архивации необходимо блокировать БД. Блокировка снимается при закрытии БД.
Блокировка отношений.
При изменении структуры отношения, создании индексов, а так же для исключения модификации отношения во время выполнения некоторой операции обработки информации, необходимо блокировать отношение:
LOCK TABLE имя_отношенния IN {SHARE | EXCLUSIVE } MODE
Разблокировка: UNLOCK TABLE имя_отношенния.