- •Эволюция субд
- •История развития реляционных субд в России.
- •Историческая тенденция в создании информационных систем
- •Реляционная модель данных
- •Основные понятия теории реляционных бд
- •Целостность бд
- •Структурированный язык запросов
- •Программирование приложений для субд
- •Эволюция серверов бд
- •Общие требования аис
- •Активный сервер (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-приложений.
Уровни изоляции данных при параллельном чтении.
DIRTY READ(грязное чтение) – игнорируются любые замки.
COMMITED READ(достоверное чтение) – данные, на которых стоит исключительный замок не читаются, в противном случае читаются, но разделяемый замок не ставится.
CURSOR STABILITY(стабильное чтение) – ставятся разделяемые замки на кортежи. Кортеж становится доступным.
REPEATABLE READ(повторяемое чтение) – аналогично “стабильному чтению”, но ставятся разделительные замки на все прочитанные курсором кортежи. Если, хотя бы на один нельзя поставить замок, то чтение завершается с ошибкой.
Особенности при управлении доступом
Управлять доступом параллельно работающих пользователей м. только внутри транзакции
Уровни изоляции CURSOR STABILITY (стабильное чтение) и REPEATABLE READ (повторяемое чтение) временно ограничивают права пользователей на модификацию читаемых данных
Для защиты модифицируемых данных от параллельного изменения другими приложениями необходимо прочитать их с помощью блокирующего курсора.
Управление доступом к блокированным данным (informix)
Можно задать один из двух режимов обработки ситуаций:
SET LOCK MODE TO WAIT число_секунд
Ждать фиксированное число секунд, по истечении которого (если доступ отсутствует) выдать сообщение об ошибке
SET LOCK MODE TO NOT WAIT
Не ждать, завершить операцию доступа. При отсутствии возможности доступа СУБД выдает сообщение об ошибке, которое необходимо перехватить приложение и обработать: WHENEWER ERROR имя_процедуры_обработки_ошибки
Оптимизатор sql-запросов – компонента субд
Задача оптимизатора – повышение эффективности запроса.
Алгоритм оптимизации:
Определяются планы запросов.
Оценивается объем работы каждого плана (подсчитывается число анализируемых картежей, число прочитанных дисковых страниц, число сетевых транзакций).
Выбирается план с наименьшей оценкой объема работ.
План передается серверу для исполнения.
Алгоритм оптимизации включает в себя как аналитические, так и эвристические процедуры, поэтому оценки имеют вероятностный характер.
Уровень оптимизации устанавливается оператором:
SET OPTIMIZATION {HIGHT|LOW} – высокий или низкий.
Низкий уровень включает маловероятные стратегии соединения и поэтому сокращает время и ресурсы памяти при построении оптимального плана. Однако оптимальная стратегия соединения м.б. исключена.
Высокий уровень (действует по умолчанию) исследует всевозможные стратегии соединения и поэтому вызывает большие затраты времени и ресурсов памяти при построении оптимального плана.
Состав затрат времени на выполнение запроса
Сервер БД работает с единицами дисковой памяти, называемыми дисковыми страницами (размер зависит от сервера – 1024-2048 байт).
Буферами страниц – называются наборы областей ОП, которые содержат копии ранее прочитанных дисковых страниц. Размер зависит от сервера и ОС.
Состав затрат:
Затраты на действия в оперативной памяти
Быстро – проверка фильтров и соединение. Медленно – сортировка и обработка сравнений, использующих LIKE и MATCHES.
Затраты на чтение строки с диска
Сервер читает дисковую страницу, содержащую нижнюю строку. Затраты на чтение одной страницы являются основной единицей измерения объемов работы, используемой в расчетах оптимизатором.
Реальные затраты на чтение с диска определяются сочетанием следующих ситуаций:
Находится ненужная страница в буфере
Есть ли одновременное обращение нескольких программ, что влечет временные задержки.
На сколько необходимо переместить магнитную головку дисковода р необходимой магнитной дорожке.
