Администратор базы данных – основные понятия

Автор работы: Пользователь скрыл имя, 06 Декабря 2011 в 13:59, курсовая работа

Описание

Цель исследования заключается в изучении администрирования базы данных.
Задачи исследования формируются исходя из его цели и заключаются в следующем:
1. Рассмотреть понятие, классификацию и функции администратора базы данных.
2. Рассмотреть обязанности, связи и средства администратора современных систем управления базами данных.
3. Изучить основные направления и принципы администрирования базы данных.
Данное исследование проведено с использованием теоретических положений, раскрывающих основные характеристики и элементы исследуемого явления.
Практическая значимость исследования заключается в его возможном использовании при изучении информационных технологий в высших учебных заведениях.

Содержание

Введение………………………………………………………………………. 3
1 Администратор базы данных – основные понятия……………………… 5
1.1 История, понятие, основные типы администратора базы данных…… 5
1.2 Задачи администратора базы данных…………………………………... 7
1.3 Обязанности администратора современных систем управления
базами данных………………………………………………………………… 8
2 Администрирование базы данных……………………………………….. 12
2.1 Управление данными в базах данных…………………………………... 12
2.1.1 Непосредственное управление данными во внешней памяти……….. 12
2.1.2 Управление буферами оперативной памяти………………………….. 12
2.1.3 Управление транзакциями……………………………………………... 13
2.1.4 Журнализация…………………………………………………………... 14
2.1.5 Поддержка языков БД …………………………………………………. 17
2.2 Управление безопасностью в СУБД…………………………………….. 18
Заключение……………………………………………………………………. 28
Глоссарий……………………………………………………………………… 30
Список использованных источников …………………………………….…. 32
Приложения…………………………………………………………………… 33

Работа состоит из  1 файл

Базы данных.doc

— 292.50 Кб (Скачать документ)
stify">     В обязанности разработчика приложений входит:

    • проектирование и разработка приложений базы данных;
  • проектирование структуры базы данных в соответствии с требованиями приложений;
  • оценка требований памяти для приложения;
  • формулирование модификаций структуры базы данных для приложения;
  • передача вышеупомянутой информации администратору базы данных;
  • настройка приложения в процессе его разработки;
  • установка мер по защите приложения в процессе его разработки.

     В процессе своей деятельности администратор  базы данных взаимодействует с другими категориями пользователей банка данных, а также и с «внешними» специалистами, не являющимися пользователями базы данных.

     Прежде  всего, если банк данных создается для  информационного обслуживания какого-либо предприятия или организации, то необходимы контакты с администрацией этой организации. Как указывалось выше, внедрение БД приводит к большим изменениям не только системы обработки данных, но и всей системы управления организацией. Естественно, что такие большие проекты не могут быть выполнены без активного участия и поддержки руководителей организации. Руководство организации должно быть ознакомлено с возможностями, предоставляемыми базой данных, проинформировано об их преимуществах и недостатках, а также проблемах, вызываемых созданием и функционированием базы данных.

     Так как базы данных является динамическим информационным отображением предметной области, то желательно, чтобы администратор базы данных в свою очередь был своевременно информирован о перспективах развития объекта, для которого создается информационная система.

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

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

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

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

     Администраторы  базы данных взаимодействуют и с  внешними по отношению к нему группами специалистов и, прежде всего, поставщиками СУБД и ППП (пакеты прикладных программ), администраторами других баз данных.

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

     На  эффективность работы базы данных оказывают  влияние множество внешних и  внутренних факторов. Возрастание сложности и масштабов базы данных, высокая «цена» неправильных или запоздалых решений по администрированию БД, высокие требования к квалификации специалистов делают актуальной задачу использования развитых средствах автоматизированного (или даже автоматического) администрирования базы данных.

     Средства  администрирования включены в состав всех СУБД. Особенно развиты эти  средства в корпоративных СУБД. Кроме  того, появился целый класс специализированного  программного обеспечения: средства DBA (DataBase Administration – администрирование базы данных).

     Типичные  функции средств DBA представлены в Приложении см. приложение А.

 

      2 Администрирование базы данных

 

     2.1 Управление данными в базах данных

     2.1.1 Непосредственное  управление данными во внешней памяти

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

    2.1.2 Управление буферами  оперативной памяти

     СУБД  обычно работают с БД значительного размера; по крайней мере этот размер обычно существенно больше доступного объема оперативной памяти. Понятно, что если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. При этом, даже если операционная система производит общесистемную буферизацию (как в случае ОС UNIX), этого недостаточно для целей СУБД, которая располагает гораздо большей информацией о полезности буферизации той или иной части БД. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов.

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

     2.1.3 Управление транзакциями

     Транзакция - это последовательность операций над БД, рассматриваемых СУБД как  единое целое. Либо транзакция успешно  выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. Если вспомнить наш пример информационной системы с файлами СОТРУДНИКИ и ОТДЕЛЫ, то единственным способом не нарушить целостность БД при выполнении операции приема на работу нового сотрудника является объединение элементарных операций над файлами СОТРУДНИКИ и ОТДЕЛЫ в одну транзакцию. Таким образом, поддержание механизма транзакций является обязательным условием даже однопользовательских СУБД (если, конечно, такая система заслуживает названия СУБД). Но понятие транзакции гораздо более важно в многопользовательских СУБД.

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

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

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

     2.1.4 Журнализация

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

     Понятно, что в любом случае для восстановления БД нужно располагать некоторой  дополнительной информацией. Другими словами, поддержание надежности хранения данных в БД требует избыточности хранения данных, причем та часть данных, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений БД.

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

     Во  всех случаях придерживаются стратегии "упреждающей" записи в журнал (так называемого протокола Write Ahead Log - WAL). Грубо говоря, эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.

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

     При мягком сбое во внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое пропадает). При соблюдении протокола WAL во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов. Целью процесса восстановления после мягкого сбоя является состояние внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для того, чтобы этого добиться, сначала производят откат незавершенных транзакций (undo), а потом повторно воспроизводят (redo) те операции завершенных транзакций, результаты которых не отображены во внешней памяти. Этот процесс содержит много тонкостей, связанных с общей организацией управления буферами и журналом. Более подробно мы рассмотрим это в соответствующей лекции.

Информация о работе Администратор базы данных – основные понятия