Файл: Тема концепция управления данными в современных информационных системах Цель лекции.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.11.2023
Просмотров: 227
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
;
- распределенные в различных узлах компьютерной сети.
Централизованную базу данных отличает традиционная архитектура баз данных .При централизованной базе данных все необходимые для работы специалистов данные и СУБД размещены на центральном компьютере, принимающем входную информацию с пользовательского терминала. Поскольку система обслуживает много различных пользователей, каждый из них ощущает снижение быстродействия по мере увеличения нагрузки на систему. Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых на различных компьютерах вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базы данных (СУРБД).
СУБД с сетевым доступом предполагают различные архитектуры систем: файл-сервер и клиент-сервер.
Появление персональных компьютеров и локальных вычислительных сетей привело к разработке архитектуры «файл-сервер». В данной архитектуре СУБД установлена на каждом рабочем месте, файлы базы данных располагаются на сервере. Существенными недостатками таких СУБД является высокая нагрузка на локальную сеть при работе большого количества пользователей и сложность при одновременной работе с базой данных. В настоящее время такая архитектура считается устаревшей. Примеры СУБД с архитектурой «файл-сервер»: Microsoft Access, FoxPro, dBase, Paradox.
При архитектуре «клиент-сервер» СУБД и БД располагаются на сервере, который обрабатывает клиентские запросы. Поэтому основная нагрузка ложится именно на сервер. Работа пользователя при данной архитектуре осуществляется через приложение, установленной на рабочем месте. Архитектура «клиент-сервер» позволяет сократить сетевой трафик, обеспечить централизованное управление базой данных, высокую надежность и безопасность работы с БД. Примеры СУБД с архитектурой «клиент-сервер»: Oracle, MySQL, Microsoft SQL Server , Firebird, Cache, MongoDB, PostgreSQL
По модели данных различают иерархические, сетевые, реляционные, объектно-ориентированные СУБД.
Иерархическую модель БД изображают в виде дерева. Каждой вершине соответствует множество экземпляров записей. Вершины расположены по уровням и связаны между собой отношениями подчиненностями. Одна-единственная вершина верхнего уровня является корневой. Примеры систем управления иерархическими базами данных: IMS (система управления информацией IBM), СУБД Cache, используемая ГИБДД МВД РФ, пенсионным фондом РФ,
учреждениями здравоохранения, промышленными и финансовыми компаниями.
Сетевые модели БД соответствуют более широкому классу объекта управления. Модель позволяет любому объекту быть связанным с любым другим объектом. Сетевые модели сложны, что создает определенные трудности при необходимости модернизации или развитии СУБД. Примеры сетевых СУБД: Oracle Database , MySQL, Microsoft SQL Server , Firebird, Cache, MongoDB, PostgreSQL
Реляционная модель БД представляет объекты и взаимосвязи между ними в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. На этой модели базируются практически все современные СУБД. В реляционной базе данных СУБД поддерживает извлечение информации из БД на основе логических связей. При работе с БД не надо программировать связи с файлами, что позволяет одной командой обрабатывать все файлы данных. Бесспорными лидерами рынка реляционных СУБД являются системы Oracle Database, MySQL, Microsoft SQL Server. Значительно уступают СУБД PostgreSQL, DB2, Microsoft Access.
Толчком к появлению объектно-ориентированных баз данных (ООБД) стало объектно-ориентированное программирование и использование ПК для обработки и представления практически всех форм информации, воспринимаемых человеком.
В ООБД объекты можно сохранить и использовать непосредственно, не раскладывая их по таблицам, типы данных определяются разработчиком и не ограничены набором предопределенных типов. В объектных СУБД данные объекта, а также его методы помещаются в хранилище как единое целое. Объектная СУБД именно то средство, которое обеспечивает запись объектов в базу данных. Существенной особенностью ООБД можно назвать объединение объектно-ориентированного программирования (ООП) с технологией баз данных для создания интегрированной среды разработки приложений.
ООБД обеспечивает доступ к различным источникам данных, в том числе к данным реляционных СУБД, а также разнообразные средства манипуляции с объектами баз данных. Традиционными областями применения объектных СУБД являются системы автоматизированного проектирования (САПР), моделирование, мультимедиа.
Очень хорошо они подходят для решения задач построения распределенных вычислительных систем. На основе объектной СУБД можно строить сложные распределенные банки данных, организовывать к ним доступ как через локальную сеть, так и для удаленных пользователей в режиме реального масштаба времени.
Назовем основные свойства БД:
Целостность. В каждый момент времени существования БД сведения, содержащиеся в ней, должны быть непротиворечивы. Целостность БД достигается вследствии введения ограничений целостности, в частности, к ним относятся ограничения, связанные с нормализацией БД. Желательно отслеживать диапазон допустимых значений, соотношения между значениями в полях, особенности написания формата. Существуют ограничения, работающие только при удалении записей.
Восстанавливаемость. Данное свойство предполагает возможность восстановления БД после сбоя системы или отдельных видов порчи системы. Сюда относится проверка наличия файлов, составляющих приложения. В основном свойство восстанавливаемости обеспечивается дублированием БД и использованием техники повышенной надежности.
Безопасность. Безопасность БД предполагает защиту данных от преднамеренного и непреднамеренного доступа, модификации или разрушения. Применяются запрещение несанкционированного доступа, защита от копирования и криптографическая защита. Также необходимы и чисто административные меры, например ограничение доступа к носителям информации.
Эффективность. Свойство эффективности обычно понимается как:
- минимальное время реакции на запрос пользователя,
- минимальные потребности в памяти,
-сочетание этих параметров.
Предельные размеры и эксплуатационные ограничения. Предельные размеры, а также другие ограничения, накладываемые эксплуатацией данной БД, могут существенно повлиять на проектное решение.
ТЕМА 2. Система управления базой данных
Цель лекции: изучить состав, функции, архитектуру и виды систем управления базами данных.
Ключевые слова: программный продукт, управление данными, буфер, транзакция, журнал, БД, язык, метаданные, менеджер, запрос, схема, внутренний уровень, концептуальный уровень, внешний уровень, архитектура, выбор, характеристика.
План лекции
1.Система управления базами данных (СУБД) – это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования БД.
К числу основных функций СУБД принято относить следующие:
Непосредственное управление данными во внешней памяти
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно составляющих БД, так и для хранения служебной информации, например, для хранения информации о структуре БД, индексы.
Некоторые реализации СУБД опираются на возможности файловых систем, в других работа производится самой СУБД, вплоть до уровня устройств внешней памяти. Но при этом в развитых СУБД пользователи не обязаны знать, как организованы файлы. В частности, СУБД поддерживает собственную систему основания объектов БД.
Управление буферами оперативной памяти
СУБД обычно работают с БД значительного размера, по крайней мере, этот размер обычно существенно больше доступного объема оперативной памяти. Понятно, что если при обращении к любому элементу данных каждый раз будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти.
Некоторые реализации СУБД опираются на возможности операционных систем. В развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов, даже если операционная система производит общесистемную буферизацию.
Существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что объем оперативной памяти компьютеров настолько велик, что можно не беспокоиться о буферизации.
Управление транзакциями
Транзакция - это, неделимая с точки зрения воздействия на БД последовательность элементарных операций манипулирования над данными, рассматриваемая СУБД как единое целое, такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех их операторов полностью отсутствует.
Поддержание механизма транзакций является обязательным условием даже пользовательских СУБД. Но понятие транзакции гораздо более важно в многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает удобным использование понятия транзакции как единицы активности пользователя по отношению к БД.
С управлением транзакциями в многопользовательской СУБД связаны такие понятия как сериализация транзакций и сериальный план выполнения смеси транзакций. Под сериализаций параллельно выполняющихся транзакций понимается такой порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения. Сериальный план выполнения смеси транзакций - это такой план, который приводит к сериализации транзакций.
Существует несколько базовых алгоритмов сериализации транзакций. При использовании любого алгоритма сериализаций возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам БД. В этом случае для поддержания сериализаций необходимо выполнить откат (ликвидировать все изменения, произведенные в БД) одной или более транзакций. Это один из случаев, когда пользователь многопользовательской СУБД может реально ощутить присутствие в системе транзакций других пользователей.
Журнализация
Одним из основных требований к СУБД является требование надежного хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной.
- распределенные в различных узлах компьютерной сети.
Централизованную базу данных отличает традиционная архитектура баз данных .При централизованной базе данных все необходимые для работы специалистов данные и СУБД размещены на центральном компьютере, принимающем входную информацию с пользовательского терминала. Поскольку система обслуживает много различных пользователей, каждый из них ощущает снижение быстродействия по мере увеличения нагрузки на систему. Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых на различных компьютерах вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базы данных (СУРБД).
СУБД с сетевым доступом предполагают различные архитектуры систем: файл-сервер и клиент-сервер.
Появление персональных компьютеров и локальных вычислительных сетей привело к разработке архитектуры «файл-сервер». В данной архитектуре СУБД установлена на каждом рабочем месте, файлы базы данных располагаются на сервере. Существенными недостатками таких СУБД является высокая нагрузка на локальную сеть при работе большого количества пользователей и сложность при одновременной работе с базой данных. В настоящее время такая архитектура считается устаревшей. Примеры СУБД с архитектурой «файл-сервер»: Microsoft Access, FoxPro, dBase, Paradox.
При архитектуре «клиент-сервер» СУБД и БД располагаются на сервере, который обрабатывает клиентские запросы. Поэтому основная нагрузка ложится именно на сервер. Работа пользователя при данной архитектуре осуществляется через приложение, установленной на рабочем месте. Архитектура «клиент-сервер» позволяет сократить сетевой трафик, обеспечить централизованное управление базой данных, высокую надежность и безопасность работы с БД. Примеры СУБД с архитектурой «клиент-сервер»: Oracle, MySQL, Microsoft SQL Server , Firebird, Cache, MongoDB, PostgreSQL
По модели данных различают иерархические, сетевые, реляционные, объектно-ориентированные СУБД.
Иерархическую модель БД изображают в виде дерева. Каждой вершине соответствует множество экземпляров записей. Вершины расположены по уровням и связаны между собой отношениями подчиненностями. Одна-единственная вершина верхнего уровня является корневой. Примеры систем управления иерархическими базами данных: IMS (система управления информацией IBM), СУБД Cache, используемая ГИБДД МВД РФ, пенсионным фондом РФ,
учреждениями здравоохранения, промышленными и финансовыми компаниями.
Сетевые модели БД соответствуют более широкому классу объекта управления. Модель позволяет любому объекту быть связанным с любым другим объектом. Сетевые модели сложны, что создает определенные трудности при необходимости модернизации или развитии СУБД. Примеры сетевых СУБД: Oracle Database , MySQL, Microsoft SQL Server , Firebird, Cache, MongoDB, PostgreSQL
Реляционная модель БД представляет объекты и взаимосвязи между ними в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. На этой модели базируются практически все современные СУБД. В реляционной базе данных СУБД поддерживает извлечение информации из БД на основе логических связей. При работе с БД не надо программировать связи с файлами, что позволяет одной командой обрабатывать все файлы данных. Бесспорными лидерами рынка реляционных СУБД являются системы Oracle Database, MySQL, Microsoft SQL Server. Значительно уступают СУБД PostgreSQL, DB2, Microsoft Access.
Толчком к появлению объектно-ориентированных баз данных (ООБД) стало объектно-ориентированное программирование и использование ПК для обработки и представления практически всех форм информации, воспринимаемых человеком.
В ООБД объекты можно сохранить и использовать непосредственно, не раскладывая их по таблицам, типы данных определяются разработчиком и не ограничены набором предопределенных типов. В объектных СУБД данные объекта, а также его методы помещаются в хранилище как единое целое. Объектная СУБД именно то средство, которое обеспечивает запись объектов в базу данных. Существенной особенностью ООБД можно назвать объединение объектно-ориентированного программирования (ООП) с технологией баз данных для создания интегрированной среды разработки приложений.
ООБД обеспечивает доступ к различным источникам данных, в том числе к данным реляционных СУБД, а также разнообразные средства манипуляции с объектами баз данных. Традиционными областями применения объектных СУБД являются системы автоматизированного проектирования (САПР), моделирование, мультимедиа.
Очень хорошо они подходят для решения задач построения распределенных вычислительных систем. На основе объектной СУБД можно строить сложные распределенные банки данных, организовывать к ним доступ как через локальную сеть, так и для удаленных пользователей в режиме реального масштаба времени.
Назовем основные свойства БД:
Целостность. В каждый момент времени существования БД сведения, содержащиеся в ней, должны быть непротиворечивы. Целостность БД достигается вследствии введения ограничений целостности, в частности, к ним относятся ограничения, связанные с нормализацией БД. Желательно отслеживать диапазон допустимых значений, соотношения между значениями в полях, особенности написания формата. Существуют ограничения, работающие только при удалении записей.
Восстанавливаемость. Данное свойство предполагает возможность восстановления БД после сбоя системы или отдельных видов порчи системы. Сюда относится проверка наличия файлов, составляющих приложения. В основном свойство восстанавливаемости обеспечивается дублированием БД и использованием техники повышенной надежности.
Безопасность. Безопасность БД предполагает защиту данных от преднамеренного и непреднамеренного доступа, модификации или разрушения. Применяются запрещение несанкционированного доступа, защита от копирования и криптографическая защита. Также необходимы и чисто административные меры, например ограничение доступа к носителям информации.
Эффективность. Свойство эффективности обычно понимается как:
- минимальное время реакции на запрос пользователя,
- минимальные потребности в памяти,
-сочетание этих параметров.
Предельные размеры и эксплуатационные ограничения. Предельные размеры, а также другие ограничения, накладываемые эксплуатацией данной БД, могут существенно повлиять на проектное решение.
ТЕМА 2. Система управления базой данных
Цель лекции: изучить состав, функции, архитектуру и виды систем управления базами данных.
Ключевые слова: программный продукт, управление данными, буфер, транзакция, журнал, БД, язык, метаданные, менеджер, запрос, схема, внутренний уровень, концептуальный уровень, внешний уровень, архитектура, выбор, характеристика.
План лекции
-
Понятие СУБД и ее функции -
Состав СУБД. Классификация СУБД. -
Архитектура СУБД. -
Выбор СУБД.
1.Система управления базами данных (СУБД) – это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования БД.
К числу основных функций СУБД принято относить следующие:
Непосредственное управление данными во внешней памяти
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно составляющих БД, так и для хранения служебной информации, например, для хранения информации о структуре БД, индексы.
Некоторые реализации СУБД опираются на возможности файловых систем, в других работа производится самой СУБД, вплоть до уровня устройств внешней памяти. Но при этом в развитых СУБД пользователи не обязаны знать, как организованы файлы. В частности, СУБД поддерживает собственную систему основания объектов БД.
Управление буферами оперативной памяти
СУБД обычно работают с БД значительного размера, по крайней мере, этот размер обычно существенно больше доступного объема оперативной памяти. Понятно, что если при обращении к любому элементу данных каждый раз будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти.
Некоторые реализации СУБД опираются на возможности операционных систем. В развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов, даже если операционная система производит общесистемную буферизацию.
Существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что объем оперативной памяти компьютеров настолько велик, что можно не беспокоиться о буферизации.
Управление транзакциями
Транзакция - это, неделимая с точки зрения воздействия на БД последовательность элементарных операций манипулирования над данными, рассматриваемая СУБД как единое целое, такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех их операторов полностью отсутствует.
Поддержание механизма транзакций является обязательным условием даже пользовательских СУБД. Но понятие транзакции гораздо более важно в многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает удобным использование понятия транзакции как единицы активности пользователя по отношению к БД.
С управлением транзакциями в многопользовательской СУБД связаны такие понятия как сериализация транзакций и сериальный план выполнения смеси транзакций. Под сериализаций параллельно выполняющихся транзакций понимается такой порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения. Сериальный план выполнения смеси транзакций - это такой план, который приводит к сериализации транзакций.
Существует несколько базовых алгоритмов сериализации транзакций. При использовании любого алгоритма сериализаций возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам БД. В этом случае для поддержания сериализаций необходимо выполнить откат (ликвидировать все изменения, произведенные в БД) одной или более транзакций. Это один из случаев, когда пользователь многопользовательской СУБД может реально ощутить присутствие в системе транзакций других пользователей.
Журнализация
Одним из основных требований к СУБД является требование надежного хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной.