Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Лекция 5. Системы управления базами данных.





СУБД – системы управления базами данных. Это специализированные системы, они требуют real time (очень быстрый ответ).

Базы данных – совокупность данных, предназначенная для машинной обработки данных, и служит для работы со многими пользователями.

Для того, чтобы работать с ними нужны специальные инструменты, которые значительно расширяют возможности их обработки. Они называются СУБД, они необходимы, так как обычные системы не позволяют поддерживать и проверять целостность данных. Поддержка логической целостности – это только одна из особенностей СУБД, она не является главной особенностью. СУБД должна так же обеспечивать быстрое нахождение данных, обычно это обеспечивается индексированием. Задавать индексы можно разными способами, например ISPV, но для СУБД этого мало, поэтому там количество методов индексирования значительно больше, чем в обычных операционных системах. Любое изменение данных – это потенциальная возможность нарушить целостность данных, поэтому в современных СУБД используются одни из самых современных, например БиДеревья, хотя это тоже не гарантирует полную сохранность данных. Потенциальные ключи – первичные ключи, по которым ищется данные.

Есть также еще проблема: требуется поиск не только по первичным ключам, но и по вторичным, при этом достаточно быстро, а не перебирая все данные (помните, что требуется быстрая реакция). Обычные операционные системы не обеспечивают это вообще.

Бывают Сетевые, Иерархические и реляционные модели данных.

Например, данные используются в виде специальных конструкций. Если сетевая модель, то есть множество связей одних элементов с многими другими. Первые базы данных реализованные на сетевой основе поддерживали IMS. Сodasyl – комитет, определяющий языки программирования для работы с конструкциями, поддерживающими СУБД, в настоящий момент распущен.

Существует также иерархическая модель данных. Иерархия сверху вниз, но не наоборот. В России был разработан ИНОС, для работы с моделями такого типа. Минус: очень сложная работа с данными, так как нельзя исключить ввод данных меньшего уровня без ввода данных с большей иерархии, поэтому была разработана реляционная модель данных.

Она позволяет дублировать данные в случае необходимости, разбивая ее на различные файлы (отношения), которые подчиняются правилами реляционной алгебры. На пересечении домена и кортежа должно быть только одно поле (на пересечении столбца и строки). Отношение также должно иметь уникальное имя, столбец и строки также должны иметь уникальные имена. За этим требуется следить, поэтому придумали понятие целостности и языки работы DDL и обработки данных, например DML. Информация, где хранятся данные – метаданные Data dictionary. Это составная часть любой базы данных. SQL - обязательный язык для манипулирования данными, без него она не будет продаваться. Одним из свойств SQL, является SQL целостность, которая поддерживается на уровне ядра. А именно ядро СУБД при правильном его определении обязано разбираться с целостностью данных, проверяя обязательный ввод первичных ключей (проверка not Null, для ссылок аналогично). Есть также еще проверки целостности, например целостность столбцов, отношений. Существуют 5 видов целостности, которые поддерживаются СУБД.

База данных нужна для работы со многими пользователями, поэтому возникают проблемы, связанные с синхронизацией данных, которая позволяет блокировать запись при изменение их другим пользователем (lock, unlock), причем это должно быть в автоматическом режиме. Такое расписание называется последовательным расписанием транзакций, ядро следит, чтобы расписание было последовательным. Deadlock не должен возникать. Deadlock - это когда каждый из пользователей работает с данными и для разблокировки одного объекта требуется чтобы другой ее разблокировал, а он не может, так как ждет, пока первый пользователь разблокирует свои данные.

Информационно-поисковые системы отличаются от базы данных тем, что отыскивается набор документов а не данных, которые связаны так или иначе с поисковой информацией, поэтому есть критерий сходства, который обеспечивает лучшее нахождение данных. В поисковых системах документ может содержать лишь часть запроса. Документ может храниться либо прямо, либо косвенно, то есть либо загружаться полностью, либо представляться в виде индексов. Обычно для того, чтобы найти используются специальные средства сравнения, компараторы, которые обеспечивает конечный автомат, который ищет по порогу сходства (схем сравнения), то есть по ключевым словам - это простые запросы. Сложные запросы – комбинация нескольких простых запросов. Ключевые слова объединяются в группы- тезаурусы. А группы документов для большей эффективности объединяются в кластеры.

СУБД состоит из ядра, это резидентская часть, модуль, который запускает и контролирует работу процессов, обеспечивая целостность и обмен данными между ними. В состав СУБД входит так же совокупность утилит, которые архивирует, копирует, восстанавливает, утилита поддержки журнала транзакций. Стандартов на архитектуру СУБД нету, поэтому она определяется разработчиком. Язык SQL передает команды интерпретатору, который интерпретирует его в привычный вид (например СИ), он часто связан с оптимизатором запроса, который оптимизирует количество ресурсов, который минимизирует количество требуемых ресурсов для выполнения запроса. Далее, в зависимости от того, где расположен запрос он передается либо системе, либо, если запрос не локален, то он передается серверу, согласно сетевым протоколам, где он и обрабатывается с помощью превращения его в команды, понятные ядру.

Есть запросы, которые должны выполняться очень быстро, поэтому существуют процессы, которые запускаются просто на сервере. Соответственно в данном случае оптимизация и обработка процесса осуществляется на сервере, такой сервер называется сервер приложения. На таком сервере так же существуют модули, которые способны распределять запросы для выполнения их на других сервера, исключая рабочие станции.

С одной стороны в пределах одной вычислительной машины делят процессор и память, СУБД этим не занимается. ОС пишет информацию на диск. Следовательно, СУБД работает под управлением ОС, и, дополнительно, под управлением сетевой системы.

Требования СУБД к ОС: ОС выбирает процессы согласно приоритетам, это проблема для СУБД, СУБД наоборот должна знать какой процесс запустить следующим, операционная система вредит ей, запуская процессы в прядке согласно внутренним приоритетам.

 

Пример для Novelll Netware

Запрос разбирается на сервере:

Запрос разбирается на рабочей станции:

 

Local OS

 

 

Функции СУБД:

1. Управление словарем

2. Средства восстановления

3. Средства оптимизации запросов

4. Средства диспетчеризирования транзакций

5. Передача данных Shell

6. Диагностика и обнаружение ошибок

7. Управление обменом буферами

8. Никаких занятий с дележом памяти, процессора - это задача операционной системы.

У нас может быть централизованная структура. Одно ядро обладает общими функциями, хотя выполняться они могут на разных рабочих станциях, и сама база данных может быть разнесена по элементам сети. А может быть Децентрализованная архитектура (запускаем несколько ядер), однако это связано с многими проблемами, в основном, с проблемами целостности.







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.