Содержание
- 2. Функции СУБД и системы обработки транзакций: Основные функции СУБД 1.Непосредственное управление данными во внешней памяти Эта
- 3. Функции СУБД и системы обработки транзакций: Основные функции СУБД 2. Управление буферами оперативной памяти СУБД обычно
- 4. Функции СУБД и системы обработки транзакций: Основные функции СУБД 3. Управление транзакциями Транзакция - это последовательность
- 5. Функции СУБД и системы обработки транзакций: Основные функции СУБД 4. Журнализация Одним из основных требований к
- 6. Функции СУБД и системы обработки транзакций: Основные функции СУБД Наиболее распространенным методом поддержания такой избыточной информации
- 7. Функции СУБД и системы обработки транзакций: Основные функции СУБД Рассмотрим различные ситуации при восстановлении: - Индивидуальный
- 8. Функции СУБД и системы обработки транзакций: Основные функции СУБД Целью процесса восстановления после мягкого сбоя является
- 9. Функции СУБД и системы обработки транзакций: Основные функции СУБД 5. Поддержка языков БД Для работы с
- 10. Функции СУБД и системы обработки транзакций: Основные функции СУБД Системный каталог - это набор таблиц, в
- 11. Архитектура СУБД Обычно современная СУБД содержит следующие компоненты: .
- 12. Функции СУБД и системы обработки транзакций: Архитектура СУБД ядро (часто его называют Data Base Engine), которое
- 13. Функции СУБД и системы обработки транзакций: Архитектура СУБД Основной функцией компилятора языка БД является компиляция операторов
- 14. Функции СУБД и системы обработки транзакций: Администрация и пользователи БД Централизованный характер управления данными вызывает необходимость
- 15. Функции СУБД и системы обработки транзакций: Администрация и пользователи БД В обязанности АБД входит выполнение следующих
- 16. Функции СУБД и системы обработки транзакций: Администрация и пользователи БД Главными потребителями информационного ресурса являются конечные
- 17. Системы обработки транзакций OLTP-системы Сильно нормализованные модели данных хорошо подходят для так называемых OLTP-приложений (On-Line Transaction
- 18. Системы обработки транзакций: OLTP-системы Проблемы OLTP-систем заключается в том, что: транзакций очень много; выполняются они одновременно
- 19. Системы обработки транзакций: OLAP -системы Другим типом приложений являются OLAP-приложения (On-Line Analitical Processing - оперативная аналитическая
- 20. Системы обработки транзакций: OLAP -системы Основоположник термина OLAP — Эдгар Кодд, предложил в 1993 году «12
- 21. Системы обработки транзакций: OLAP -системы Такие системы характеризуются следующими признаками: Добавление в систему новых данных происходит
- 22. Системы обработки транзакций: OLAP -системы Данные OLAP-приложений обычно представлены в виде одного или нескольких гиперкубов, измерения
- 24. Системы обработки транзакций: OLAP -системы Оперативность обработки больших объемов данных в системах OLAP достигается за счет
- 25. Системы обработки транзакций: Мониторы транзакций С ростом сложности распределенных вычислительных систем возникают проблемы эффективного использования их
- 26. Системы обработки транзакций: Мониторы транзакций При распределении запросов может учитываться также удаленность серверов, их готовность, содержимое
- 27. Рисунок 2 Упрощенная схема работы монитора транзакций запрос ответ запрос ответ ответ
- 28. Системы обработки транзакций: Мониторы транзакций Клиентские приложения не знают, какой системе будут направлены их запросы, предлагается
- 30. Скачать презентацию
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
1.Непосредственное управление данными
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
1.Непосредственное управление данными
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для хранения индексов.
В СУБД может быть реализован один из двух подходов:
активно используются возможности существующих файловых систем ОС;
работа производится вплоть до уровня устройств внешней памяти.
В развитых СУБД пользователи в любом случае не обязаны знать, использует ли СУБД файловую систему, и если использует, то, как организованы файлы. В частности, СУБД поддерживает собственную систему именования объектов БД.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
2. Управление буферами
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
2. Управление буферами
СУБД обычно работают с БД значительного размера; этот размер чаще всего существенно больше доступного объема оперативной памяти. При обращении к любому элементу данных во время обмена с внешней памятью вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. При этом, даже если операционная система производит общесистемную буферизацию (как в случае ОС UNIX), этого недостаточно для целей СУБД.
Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов.
Замечание. Существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что в будущем объем оперативной памяти компьютеров будет настолько велик, что позволит не беспокоиться о буферизации.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
3. Управление транзакциями
Транзакция
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
3. Управление транзакциями
Транзакция
То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД.
При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый из пользователей может в принципе ощущать себя единственным пользователем СУБД.
С управлением транзакциями в многопользовательской СУБД связаны важные понятия сериализации транзакций и сериального плана выполнения смеси транзакций . При использовании любого алгоритма сериализации возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам БД. В этом случае для поддержания сериализации необходимо выполнить откат (ликвидировать все изменения, произведенные в БД) одной или более транзакций. Это один из случаев, когда пользователь многопользовательской СУБД может реально (и достаточно неприятно) ощутить присутствие в системе транзакций других пользователей.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
4. Журнализация
Одним из
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
4. Журнализация
Одним из
Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев:
мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания);
жесткие сбои, характеризуемые потерей информации на носителях внешней памяти.
Примерами программных сбоев могут быть:
аварийное завершение работы СУБД по причине ошибки в программе или в результате некоторого аппаратного сбоя. Эту ситуацию можно рассматривать как особый вид мягкого аппаратного сбоя;
аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной и требуется ликвидировать последствия только одной транзакции.
Поддержание надежности хранения данных в БД требует избыточности хранения данных (копия БД), причем та часть данных, которая используется для восстановления, должна храниться особо надежно.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Наиболее распространенным методом
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Наиболее распространенным методом
Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД.
В разных СУБД изменения БД журнализуются на разных уровнях, запись в журнале может соответствовать:
некоторой логической операции изменения БД (например, операции удаления строки из таблицы реляционной БД);
минимальной внутренней операции модификации страницы внешней памяти;
и то и другое (в некоторых системах одновременно используются оба подхода).
Во всех случаях придерживаются стратегии «упреждающей» записи в журнал (так называемого протокола Write Ahead Log - WAL). Эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Рассмотрим различные ситуации
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Рассмотрим различные ситуации
- Индивидуальный откат транзакции (самая простая ситуация восстановления). Достаточно для каждой транзакции поддерживать локальный журнал операций модификации БД, выполненных в этой транзакции, и производить откат транзакции путем выполнения обратных операций, следуя от конца локального журнала. Но в большинстве систем локальные журналы не поддерживают, а индивидуальный откат транзакции выполняют по общесистемному журналу, для чего все записи от одной транзакции связывают обратным списком (от конца к началу).
- Мягкий сбой. При этом во внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое пропадает). При соблюдении протокола WAL во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Целью процесса восстановления
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Целью процесса восстановления
-Жесткий сбой. Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Идеально, архивная копия - это полная копия БД к моменту начала заполнения журнала (имеется много вариантов более гибкой трактовки смысла архивной копии). Конечно, для нормального восстановления БД после жесткого сбоя необходимо, чтобы журнал не пропал. Как уже отмечалось, к сохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования. Тогда восстановление БД состоит в том, что исходя из архивной копии, по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
5. Поддержка языков
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
5. Поддержка языков
Для работы с базами данных используются специальные языки, в целом называемые языками баз данных.
В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language). В качестве языка DML используется также язык создания запросов по образцу (QBE - Query by Example). Например, СУБД Access поддерживает SQL и QBE – создание запросов на выборку данных, изменение, удаление с помощью конструктора.
Язык SQL позволяет определять схему реляционной БД и манипулировать данными. При этом именование объектов БД (для реляционной БД - именование таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных системных таблиц-каталогов.
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Системный каталог -
Функции СУБД и системы обработки транзакций:
Основные функции СУБД
Системный каталог -
В разных СУБД, поддерживающих SQL, существует от десятка до нескольких десятков системных таблиц, структура которых ничем не отличается от уже знакомой нам структуры пользовательских таблиц.
Так, в каждой строке системной таблицы SYSTABLES хранится описание одной из таблиц пользовательских или системной БД. Для каждой из них указывается имя таблицы, имя пользователя, который создал эту таблицу, число столбцов в ней и ряд других элементов информации.
В таблице SYSCOLUMNS содержится строка для каждого столбца каждой таблицы, в которой указано имя столбца, имя таблицы, частью которой является данный столбец, тип данных для этого столбца и много другой информации о столбце.
Архитектура СУБД
Обычно современная СУБД содержит следующие компоненты:
.
Архитектура СУБД
Обычно современная СУБД содержит следующие компоненты:
.
Функции СУБД и системы обработки транзакций:
Архитектура СУБД
ядро (часто его называют
Функции СУБД и системы обработки транзакций:
Архитектура СУБД
ядро (часто его называют
процессор языка запросов (компилятор языка БД, обычно SQL), обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание машинно-независимого внутреннего кода;
подсистему поддержки времени выполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;
набор утилит.
Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию.
Соответственно, можно выделить такие компоненты ядра, как менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ) и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры «клиент-сервер» ядро является основной составляющей серверной части системы.
Функции СУБД и системы обработки транзакций:
Архитектура СУБД
Основной функцией компилятора
Функции СУБД и системы обработки транзакций:
Архитектура СУБД
Основной функцией компилятора
Поэтому компилятор должен решить, каким образом выполнять оператор языка прежде, чем произвести программу. Применяются достаточно сложные методы оптимизации операторов.
Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, представляющей собой, по сути дела, интерпретатор этого внутреннего языка.
Наконец, в отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д.
Утилиты программируются с использованием интерфейса ядра СУБД, а иногда даже с проникновением внутрь ядра.
Функции СУБД и системы обработки транзакций:
Администрация и пользователи БД
Централизованный характер
Функции СУБД и системы обработки транзакций:
Администрация и пользователи БД
Централизованный характер
Создание, функционирование и развитие БД обеспечиваются администрацией базы, которая выполняет работы на протяжении всего жизненного цикла системы. В состав АБД входят:
системные аналитики;
проектировщики структур данных и внешнего по отношению к БД информационного обеспечения;
проектировщики технологических процессов обработки данных;
системные и прикладные программисты;
операторы;
специалисты по техническому обслуживанию;
специалисты по маркетингу (для коммерческих БД).
Функции СУБД и системы обработки транзакций:
Администрация и пользователи БД
В обязанности
Функции СУБД и системы обработки транзакций:
Администрация и пользователи БД
В обязанности
1. Анализ предметной области, ее описание, формулировка ограничений целостности, определение потребностей и статуса пользователей.
2. Проектирование структуры БД: определение состава и структуры информационных единиц БД, связей между ними.
3. Задание ограничений целостности при описании структуры БД и процедур обработки данных.
4. Первоначальная загрузка и ведение БД: разработка технологии загрузки и ведения БД, проектирование форм ввода, создание программных модулей.
5. Защита данных:
обеспечение парольного входа в систему;
определение прав доступа пользователей к данным;
выбор и создание программно-технических средств защиты данных;
тестирование средств защиты данных;
сбор статистики об использовании данных;
исследование случаев нарушения защиты данных;
обеспечение восстановления БД, ведение системных журналов.
6. Анализ обращений пользователей к БД.
7. Работа с конечными пользователями.
8. Работа над совершенствованием и динамическим развитием БД
Функции СУБД и системы обработки транзакций:
Администрация и пользователи БД
Главными потребителями
Функции СУБД и системы обработки транзакций:
Администрация и пользователи БД
Главными потребителями
Их состав неоднороден, они различаются по квалификации, степени профессионализма, уровню в системе управления и т. д. Так, главный бухгалтер, бухгалтер, операционист, начальник кредитного отдела рассматриваются как пользователи банковской информационной системы. Удовлетворение их информационной потребности требует решения большого числа проблем организации БД.
Специальную группу пользователей БД образуют прикладные программисты. Их задача – создать удобные пользовательские информационной системы.
Системы обработки транзакций
OLTP-системы
Сильно нормализованные модели данных хорошо подходят для так называемых
Системы обработки транзакций
OLTP-системы
Сильно нормализованные модели данных хорошо подходят для так называемых
Типичными примерами OLTP-приложений являются:
системы складского учета,
системы заказов билетов,
банковские системы, выполняющие операции по переводу денег,
системы отслеживания компонентов во время сборки конечного продукта на производстве и т.п.
Основная функция подобных систем заключается в выполнении большого количества коротких транзакций.
Сами транзакции выглядят относительно просто, например, «снять сумму денег со счета А, добавить эту сумму на счет В». Время ожидания типичных запросов в таких системах не должна превышать нескольких секунд.
Системы обработки транзакций: OLTP-системы
Проблемы OLTP-систем заключается в том, что:
транзакций очень много;
выполняются
Системы обработки транзакций: OLTP-системы
Проблемы OLTP-систем заключается в том, что:
транзакций очень много;
выполняются
при возникновении ошибки, транзакция должна целиком откатиться и вернуть систему к состоянию, которое было до начала транзакции (не должно быть ситуации, когда деньги сняты со счета А, но не поступили на счет В).
Практически все запросы к базе данных в OLTP-приложениях состоят из команд вставки, обновления, удаления.
Запросы на выборку в основном предназначены для предоставления пользователям возможности выбора из различных справочников. Большая часть запросов, таким образом, известна заранее еще на этапе проектирования системы. Пример запроса: «есть ли свободные места в купе поезда Москва-Сочи, отправляющегося 20 августа в 23:15».
Критическим для OLTP-приложений является скорость и надежность выполнения коротких операций обновления данных. Чем выше уровень нормализации данных в OLTP-приложении, тем оно, как правило, быстрее и надежнее.
OLTP-системы требуют защиты от несанкционированного доступа, от нарушения целостности, аппаратных и программных сбоев
Системы обработки транзакций: OLAP -системы
Другим типом приложений являются OLAP-приложения (On-Line Analitical
Системы обработки транзакций: OLAP -системы
Другим типом приложений являются OLAP-приложения (On-Line Analitical
Приведем примеры запросов:
«как связан объем продаж товаров с характеристиками потенциальных покупателей»;
«каким будет объем продаж железнодорожных билетов в следующие 3 месяца с учетом сезонных колебаний»),
для проведения анализа "что если…".
OLAP-приложения оперируют с большими массивами данных, уже накопленными в OLTP-приложениях, взятыми из электронных таблиц или из других источников данных.
Системы обработки транзакций: OLAP -системы
Основоположник термина OLAP — Эдгар Кодд, предложил в 1993 году «12
Системы обработки транзакций: OLAP -системы
Основоположник термина OLAP — Эдгар Кодд, предложил в 1993 году «12
многомерность,
прозрачность,
доступность,
постоянная производительность при разработке отчетов,
клиент- серверная архитектура, равноправие измерений,
динамическое управление разреженными матрицами,
поддержка многопользовательского режима,
неограниченные перекрестные операции,
интуитивная манипуляция данными,
гибкие возможности получения отчетов,
неограниченная размерность,
Неограниченное число уровней агрегации.
Системы обработки транзакций: OLAP -системы
Такие системы характеризуются следующими признаками:
Добавление в
Такие системы характеризуются следующими признаками:
Добавление в
Данные, добавленные в систему, обычно никогда не удаляются.
Перед загрузкой данные проходят различные процедуры «очистки», связанные с тем, что в одну систему могут поступать данные из многих источников, имеющих различные форматы представления для одних и тех же понятий, данные могут быть некорректны, ошибочны.
Запросы к системе являются нерегламентированными и, как правило, достаточно сложными. Очень часто новый запрос формулируется аналитиком для уточнения результата, полученного в результате предыдущего запроса.
Скорость выполнения запросов важна, но не критична.
Системы обработки транзакций: OLAP -системы
Данные OLAP-приложений обычно представлены в виде одного
Системы обработки транзакций: OLAP -системы Данные OLAP-приложений обычно представлены в виде одного
"каковы тенденции продаж отделений Юго-Западного региона в текущем году по сравнению с предыдущим годом?"
Физически гиперкуб может быть построен на основе специальной многомерной модели данных (MOLAP - Multidimensional OLAP) или построен средствами реляционной модели данных (ROLAP - Relational OLAP).
Системы обработки транзакций: OLAP -системы
Оперативность обработки больших объемов данных в системах
Системы обработки транзакций: OLAP -системы
Оперативность обработки больших объемов данных в системах
В большинстве случаев сложный аналитический запрос невозможно сформулировать в терминах языка SQL, поэтому приходится применять специализированные языки, ориентированные на аналитическую обработку данных. К их числу можно отнести, например, язык Express 4GL (язык четвертого поколения - 4 Generation Language фирмы Oracle).
Системы обработки транзакций: Мониторы транзакций
С ростом сложности распределенных вычислительных систем возникают
Системы обработки транзакций: Мониторы транзакций
С ростом сложности распределенных вычислительных систем возникают
Мониторы транзакций выполняют две основные функции:
динамическое распределение запросов в системе (выравнивание нагрузки);
оптимизация числа выполняемых серверных приложений.
Кратко рассмотрим реализацию этих функций.
Если в системе функционирует несколько серверов, предоставляющих одинаковый сервис, например, доступ к БД, то для оптимизации пропускной способности системы (числа обрабатываемых запросов в единицу времени) необходимо добиться сбалансированной их загрузки. Необходимо обеспечить, чтобы на каждый из серверов поступало примерно равное количество пользовательских запросов
Системы обработки транзакций: Мониторы транзакций
При распределении запросов может учитываться также удаленность
Системы обработки транзакций: Мониторы транзакций
При распределении запросов может учитываться также удаленность
запрос клиентского приложения поступает монитору транзакций, который определяет получателя этого запроса. Для этого он обращается к динамической маршрутной таблице, по которой определяет систему, предоставляющую соответствующий сервис;
если таких систем несколько, то по соответствующему алгоритму выбирается одна из них, и ей перенаправляется запрос клиентского приложения;
результат выполнения запроса через монитор транзакций перенаправляется приложению, пославшему запрос.
Рисунок 2 Упрощенная схема работы монитора транзакций
запрос
ответ
запрос
ответ
ответ
Рисунок 2 Упрощенная схема работы монитора транзакций
запрос
ответ
запрос
ответ
ответ
Системы обработки транзакций: Мониторы транзакций
Клиентские приложения не знают, какой системе будут
Системы обработки транзакций: Мониторы транзакций
Клиентские приложения не знают, какой системе будут
Скорость обработки транзакций напрямую зависит от числа запущенных серверных приложений. Чем больше приложений одновременно обслуживают запросы, тем выше пропускная способность вычислительной системы.
В идеале для эффективного использования системных ресурсов нужно по мере необходимости увеличивать или уменьшать число серверных приложений в зависимости от числа обрабатываемых запросов.