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

02.08.2019
Введение………………………………………… ……………………………. 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. Рассмотреть понятие, классификацию и функции администратора базы данных.
2. Рассмотреть обязанности, связи и средства администратора современных систем управления базами данных.
3. Изучить основные направления и принципы администрирования базы данных.
Данное исследование проведено с использованием теоретических положений, раскрывающих основные характеристики и элементы исследуемого явления.
Практическая значимость исследования заключается в его возможном использовании при изучении информационных технологий в высших учебных заведениях.

Основная часть

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

      История, понятие, основные типы администратора базы данных
Классические подходы к наполнению содержанием понятия "АБД" стали формироваться после издания рабочего отчета группы по базам данных Американского Национального Института Стандартов ANSI/X3/SPARC в 1975 года. В этом отчете была описана трехуровневая архитектура СУБД, в которой выделялся уровень внешних схем данных, уровень концептуальной схемы данных и уровень схемы физического хранения данных. В соответствии с этой архитектурой определялись три роли АБД: администратор концептуальной схемы, администратор внешних схем и администратор хранения данных. Эти роли в случае очень маленькой системы мог играть один человек, в большой системе для выполнения каждой роли могла назначаться группа людей. Каждой роли соответствовал набор функций, а все эти функции вместе составляли функции АБД.
В 1980 - 1981 г. в американской литературе стало принятым включать в функции АБД:
    организационное и техническое планирование БД,
    проектирование БД,
    обеспечение поддержки разработок прикладных программ,
    управление эксплуатацией БД.
В нашей стране в это же время первое определение АБД в ГОСТ-ах задало слишком узкий состав функций АБД:
    подготовка вычислительного комплекса к установке СУБД, участие в установке и приемке СУБД и самой БД с комплексом прикладных программ,
    управление эксплуатацией БД,
    подготовка словарей и другой НСИ - нормативно-справочной информации - к моменту начала испытания БД.
Предполагалось, что функции АБД будут ориентированы только на эксплуатацию БД, а её разработка будет вестись силами специализированной организации.
К середине 90-х годов сложились еще не завершенные, но уже достаточно устойчивые и полные методологии разработки систем с базами данных. Основная работа по планированию информационных потребностей предприятия, проектированию концептуальной и логической схемы БД, внешних схем, используемых в отдельных процессах обработки информации, ложится теперь на группу проектирования Автоматизированной Системы (АС). Становиться и более определённым объем функций АБД. Это обеспечение надежной и эффективной работы пользователей и программ с БД, поддержка разработчиков в их доступе к БД и средствам разработки.
Администратор базы данных (АБД) или Database Administrator (DBA) – это лицо, отвечающее за выработку требований к базе данных, её проектирование, реализацию, эффективное использование и сопровождение, включая управление учётными записями пользователей БД и защиту от несанкционированного доступа. Не менее важной функцией администратора БД является поддержка целостности базы данных.
В зависимости от сложности и объема банка данных, от особенностей используемой системы управления базы данных (СУБД), общую схему которой можно увидеть на рисунке (см. Приложение Б) служба администрации базы данных может различаться как по составу и квалификации специалистов, так и по количеству работающих в этой службе.
Администратор базы данных выполняют работы по созданию и обеспечению функционирования БД на протяжении всех этапов жизненного цикла системы. В составе группы администраторов банка данных можно выделить различные подгруппы в зависимости от выполняемых ими функций. Численность группы администрации, выполняемые ими функции, будут в значительной степени зависеть от масштаба банка данных, специфики хранимой в нем информации, типа банка данных, особенностей используемых программных средств и некоторых других факторов.
В составе администрации базы данных должны быть системные аналитики, проектировщики структур данных и внешнего по отношению к банку данных информационного обеспечения, проектировщики технологических процессов обработки данных, системные и прикладные программисты, операторы, специалисты по техническому обслуживанию. Если речь идет о коммерческом банке данных, то важную роль здесь будут играть специалисты по маркетингу.
Среди АБД нет строгого документального разграничения по типам. Но можно выделить несколько общих видов АБД, в зависимости от возложенных на них обязанностей:
    Системный администратор.
    Архитектор БД.
    Аналитик БД.
    Разработчик моделей данных.
    Администратор приложении.
    Проблемно-ориентированный администратор БД.
    Аналитик производительности.
    Администратор хранилища данных.
      Задачи администратора базы данных
Задачи администратора базы данных (АБД) могут незначительно отличаться в зависимости от вида применяемой системы управления базы данных (СУБД), но в основные задачи входит:
    Проектирование базы данных.
    Оптимизация производительности базы данных.
    Обеспечение и контроль доступа к базе данных.
    Обеспечение безопасности в базе данных.
    Резервирование и восстановление базы данных.
    Обеспечение целостности баз данных.
    Обеспечение перехода на новую версию СУБД.
      Обязанности администратора современных систем управления базами данных
Поскольку система баз данных может быть весьма большой и может иметь много пользователей, должно существовать лицо или группа лиц, управляющих этой системой. Такое лицо называется администратором базы данных (АБД).
В любой базе данных должен быть хотя бы один человек, выполняющий административные обязанности; если база данных большая, эти обязанности могут быть распределены между несколькими администраторами.
В обязанности администратора могут входить:
- инсталляция и обновление версий сервера и прикладных инструментов;
- распределение дисковой памяти и планирование будущих требований системы к памяти;
- создание первичных структур памяти в базе данных (табличных пространств) по мере проектирования приложений разработчиками приложений;
- создание первичных объектов (таблиц, представлений, индексов) по мере проектирования приложений разработчиками;
- модификация структуры базы данных в соответствии с потребностями приложений;
- зачисление пользователей и поддержание защиты системы;
- соблюдение лицензионного соглашения;
- управление и отслеживание доступа пользователей к базе данных;
- отслеживание и оптимизация производительности базы данных;
- планирование резервного копирования и восстановления;
- поддержание архивных данных на устройствах хранения информации;
- осуществление резервного копирования и восстановления;
- обращение в корпорацию за техническим сопровождением.
В некоторых случаях база данных должна также иметь одного или нескольких сотрудников службы безопасности. Сотрудник службы безопасности главным образом отвечает за регистрацию новых пользователей, управление и отслеживание доступа пользователей к базе данных, и защиту базы данных.
Разработчики приложений.
В обязанности разработчика приложений входит:
      проектирование и разработка приложений базы данных;
    проектирование структуры базы данных в соответствии с требованиями приложений;
    оценка требований памяти для приложения;
    формулирование модификаций структуры базы данных для приложения;
    передача вышеупомянутой информации администратору базы данных;
    настройка приложения в процессе его разработки;
    установка мер по защите приложения в процессе его разработки.
В процессе своей деятельности администратор базы данных взаимодействует с другими категориями пользователей банка данных, а также и с «внешними» специалистами, не являющимися пользователями базы данных.
Прежде всего, если банк данных создается для информационного обслуживания какого-либо предприятия или организации, то необходимы контакты с администрацией этой организации. Как указывалось выше, внедрение БД приводит к большим изменениям не только системы обработки данных, но и всей системы управления организацией. Естественно, что такие большие проекты не могут быть выполнены без активного участия и поддержки руководителей организации. Руководство организации должно быть ознакомлено с возможностями, предоставляемыми базой данных, проинформировано об их преимуществах и недостатках, а также проблемах, вызываемых созданием и функционированием базы данных.
Так как базы данных является динамическим информационным отображением предметной области, то желательно, чтобы администратор базы данных в свою очередь был своевременно информирован о перспективах развития объекта, для которого создается информационная система.
Руководством организации и администратором базы данных должны быть согласованы цели, основные направления и сроки создания БД и его развития, очередность подключения пользователей.
Очень тесная связь у АБД на всех этапах жизненного цикла базы данных наблюдается с конечными пользователями. Это взаимодействие начинается на начальных стадиях проектирования системы, когда изучаются потребности пользователей, уточняются особенности предметной области, и постоянно поддерживается как на протяжении процесса проектирования, так и функционирования системы.
Следует отметить, что в последнее время наблюдается активное перераспределение функций между конечными пользователями и администраторами банка данных. Это, прежде всего, связано с развитием языковых и программных средств, ориентированных на конечных пользователей. Сюда относятся простые и одновременно мощные языки запросов, а также средства автоматизации проектирования.
Если банк данных функционирует в составе какой-либо включающей его автоматизированной информационной системы (например, в АСУ), то АБД должен работать в контакте со специалистами по обработке данных в этой системе.
Администраторы базы данных взаимодействуют и с внешними по отношению к нему группами специалистов и, прежде всего, поставщиками СУБД и ППП (пакеты прикладных программ), администраторами других баз данных.
Базы данных часто создаются специализированными проектными коллективами на основе договора на разработку информационной системы в целом или базой данных как самостоятельного объекта проектирования. В этом случае служба администрации базы данных должна создаваться как в организации-разработчике, так и в организации-заказчике.
На эффективность работы базы данных оказывают влияние множество внешних и внутренних факторов. Возрастание сложности и масштабов базы данных, высокая «цена» неправильных или запоздалых решений по администрированию БД, высокие требования к квалификации специалистов делают актуальной задачу использования развитых средствах автоматизированного (или даже автоматического) администрирования базы данных.
Средства администрирования включены в состав всех СУБД. Особенно развиты эти средства в корпоративных СУБД. Кроме того, появился целый класс специализированного программного обеспечения: средства 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) те операции завершенных транзакций, результаты которых не отображены во внешней памяти. Этот процесс содержит много тонкостей, связанных с общей организацией управления буферами и журналом. Более подробно мы рассмотрим это в соответствующей лекции.
Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Грубо говоря, архивная копия - это полная копия БД к моменту начала заполнения журнала (имеется много вариантов более гибкой трактовки смысла архивной копии). Конечно, для нормального восстановления БД после жесткого сбоя необходимо, чтобы журнал не пропал. Как уже отмечалось, к сохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования. Тогда восстановление БД состоит в том, что исходя из архивной копии по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. В принципе, можно даже воспроизвести работу незавершенных транзакций и продолжить их работу после завершения восстановления. Однако в реальных системах это обычно не делается, поскольку процесс восстановления после жесткого сбоя является достаточно длительным.
2.1.5. Поддержка языков БД
Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка - язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные. Мы рассмотрим более подробно языки ранних СУБД в следующей лекции.
и т.д.................

Цель занятия: усвоить знания о порядке такой организации работы пользователей с базой данных, чтобы база данных всегда была работоспособна.

План

    Функции администратора БД.

    Методы защиты БД.

    Резервирование и восстановление БД.

    Оптимизация работы БД,

    Правовая охрана баз данных

  1. Функции администратора бд

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

В номенклатуре специалистов, обеспечивающих проектирование, создание, эксплуатацию и использование АИС, соответственно, выделилась отдельная категория, называемая «администраторами систем (баз данных)», играющих ключевую роль в процессах информационного обеспечения деятельности предприятий и организаций.

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

Термин «администрирование » определяет комплекс процессов при создании, эксплуатации и использовании АИС, связанных с обеспечением надежности и эффективности функционирования АИС, безопасности данных и организацией коллективной работы пользователей различных категорий.

Этот комплекс процессов можно разделить по решаемым задачам на следующие группы:

    обеспечение и поддержание настройки структурного, интерфейсного и технологического компонентов АИС на структуру и процессы предметной области системы;

    обеспечение надежности и сохранности данных;

    организация и обеспечение коллективной работы пользователей с общими данными.

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

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

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

Обеспечение надежности и сохранности данных является одной из главных обязанностей администратора АИС и включает, в свою очередь, решение ряда следующих технологических и профилактических задач:

    планирование, конфигурирование и поддержание системы использования устройств внешней памяти, на которых размещаются файлы данных;

    архивирование и резервирование данных;

    восстановление данных после сбоев и повреждений;

Проверка и поддержание целостности данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

Администратором базы данных (АБД) называется лицо, ответственное за выполнение функции администрирования базы данных.

АБД - не "обладатель" базы данных, а ее "хранитель". С усложнением предметной области неизбежно усложняется процесс формирования информации и принятия решений. В результате расширяется спектр функций администрирования. Так как в случае использования базы данных прикладной программист "устраняется" от непосредственного управления данными, он утрачивает с ними контакт, а следовательно, и чувство ответственности за них. Это требует разработки процедур обеспечения непротиворечивости данных, которые должны быть скоординированы с функцией администрирования базы данных.

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



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

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

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

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

последнюю очередь. Неизбежным результатом такого отношения является превращение АБД в координатора. Во многих случаях, организуя базу данных, АБД идет по пути решения технических проблем, то есть прежде всего вопросов, связанных с использованием СУБД.

Первая важная задача АБД состоит в устранении противоречий между различными направлениями деятельности организации при создании концептуальной, а затем и логической модели базы данных предметной области. Выступая в роли посредника между отделами, он должен добиваться не только того, чтобы различные специалисты пришли к соглашению относительно объектов предметной области, но и того, чтобы это соглашение было "правильным". Кроме определения данных и прав доступа к ним от АБД может потребоваться разработка процедур и руководств по ведению данных. Для выполнения функций АБД необходимо хорошо представлять себе состояние дел предприятия и перспективы его развития, а также знать позицию руководства. На начальной стадии разработки базы данных АБД следует сконцентрировать внимание на следующих проблемах:

Определение элементов данных и объектов предметной области;

Присвоение различных имен, которые будут использоваться для обращения к элементам одного и того же типа;

Установление взаимосвязей между элементами данных; выпуск текстового описания элементов данных;

Выделение отделов или пользователей, ответственных за обеспечение точности данных (например, контролирующих обновление данных, их непротиворечивость);

Определение путей применения элементов данных в целях управления и планирования, то есть распределении функций между персоналом.

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

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

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

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

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

Возвращаясь к рассмотренной в конце предыдущего параграфа программе Auto_Store, заметим, что она позволяет: добавлять, удалять пользователей, назначать существующим пользователям имена, пароли, уровни доступа, назначать привилегии доступа относительно каждого уровня доступа. На рис. 2.24 и 2.25 изображены формы, соответствующие описанным функциям.

7 лекция. Администрирование БД

Администратор базы данных - это должностное лицо, которое отвечает за обслуживание СУБД.

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

Кто может стать АБД

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

· хорошее знание операционных систем Microsoft Windows;

· знание языка структурированных запросов (SQL);

· умение разрабатывать базы данных;

· общее понятие о сетевых архитектурах (например, клиент/сервер, Inter­net/intranet, Enterprise);

· знание Microsoft SQL Server.

Совет специалиста микрософт:

Если вы являетесь членом команды техобслуживания, которой требуется админи­стратор Microsoft SQL Server, вот вам мой совет: вызовитесь на эту должность. Во-первых, это прекрасная работа. Во-вторых, хорошие АБД нужны всегда и вез­де. И в-третьих, обычно им платят больше, чем разработчикам.

Обязанности АБД

1.Установка и модернизация SQL Server

Администратор баз данных отвечает за установку и модернизацию существующей версии SQL Server. Если модернизируется SQL Server, то АБД отвечает за то, чтобы в случае неудачи можно было вернуться к прежней версии SQL Server и использовать ее, пока все проблемы не будут решены. АБД отвечает также за применение пакетов обновления SQL Server. Пакет обновления (service pack) - это не модернизация, а только установка текущей версии программного обеспечения, в которой исправлены разнообразные ошибки, найденные после выпуска продукта.

2.Наблюдение за состоянием сервера базы данных и его соответствующая настройка

Наблюдение за состоянием сервера базы данных необходимо для того, чтобы убедиться в следующем:

Сервер работает с оптимальной производительностью;

В журнале ошибок или журнале событий не зафиксированы ошибки в работе СУБД;

Обслуживание баз данных проводится повседневно, а всей системы в целом - периодически (последнее входит в обязанности системного администратора).

3.Правильное использование памяти

SQL Server 2000 позволяет автоматически увеличивать размеры баз данных и журналов транзакций, но вы можете установить для них фиксированные размеры. В лю­бом случае правильное использование памяти означает, что вы должны знать, сколь­ко памяти требуется, и по мере необходимости добавлять новые дисковые накопите­ли (жесткие диски).

Резервное копирование и восстановление данных

Резервное копирование и восстановление данных - самые важные задачи АБД. Сюда входит следующее:

Разработка стандартов и графика резервного копирования;

Разработка процедур восстановления для каждой базы данных;

Проверка соответствия графика резервного копирования требованиям к восстановлению данных.

Управление пользователями базы данных и обеспечение безопасности

В SQL Server 2000 АБД тесно сотрудничает с администратором Windows NT/2000 в области присвоения пользователям прав доступа к базе данных. Когда дело не касается сферы влияния Windows NT/2000, АБД разрешает пользователям такой доступ сам. Он отвечает также за назначение пользователю той или иной базы данных и определение его прав доступа. В зависимости от этих прав, пользователь может (или не может) обращаться к различным объектам базы данных, например к таблицам, представлениям и хранимым процедурам.

Сотрудничество с разработчиками

Для АБД очень важно тесно сотрудничать с командой разработчиков в области об­щего проектирования базы данных. Сюда относится создание нормализованных баз данных, настройка, назначение правильных индексов, а также разработка триггеров и хранимых процедур. В среде SQL Server 2000 хороший АБД сможет подсказать разработчикам, как использовать преимущества мастера настройки индексов SQL Server (SQL Server Index Tuning Wizard) и профилировщика SQL Server (SQL Server Profiler).

Определение соглашений и стандартов

Администратор баз данных должен установить для SQL Server и баз данных соглашения по наименованию и стандарты, а также следить за тем, чтобы все пользователи их придерживались.

Перенос данных

Администратор баз данных отвечает за импорт и экспорт данных в SQL Server и из него. В настоящее время наметилась тенденция к уменьшению размеров систем кли­ент/сервер и их сочетанию с мэйнфреймами и Web-технологиями для создания сис­тем управления предприятием (типа Enterprise). В таких условиях импорт данных из мэйнфрейма в SQL Server стал обычным делом; еще больше эта практика распространилась в связи с появлением служб преобразования данных (Data Transformation Ser­vices - DTS) SQL Server 2000. Хорошие администраторы, знающие DTS, в ближайшее время будут в большой цене, так как сейчас фирмы стремятся преобразовать устаревшие системы в системы типа Enterprise.

Репликация данных

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

Хранилище данных

В SQL Server 2000 добавились новые возможности складирования данных, для ис­пользования которых АБД придется изучить дополнительный продукт (Microsoft OLAP Server) и его архитектуру. С появлением этой возможности перед АБД встают новые интересные задачи!

Составление графика обработки событий

Администратор базы данных отвечает за составление графика обработки различных событий с помощью стандартных средств Windows NT/2000 и SQL Server. Это поможет успешно справляться с различными задачами, такими как создание резерв­ных копий и процессов репликации.

Обеспечение круглосуточного доступа к данным

Сервер базы данных должен работать круглосуточно, обеспечивая доступ к базам данных. Будьте готовы через некоторое время выполнить необходимые операции по поддержке работоспособности СУБД и ее модернизации. Постарайтесь также вы­держать этот ужасный сигнал пейджера. Если сервер базы данных "сляжет", вам придется "поднять" его и заставить работать. В конце концов, это ваша работа.

Как АБД взаимодействует с другими членами команды

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

Системный и сетевой администраторы

Взаимодействие АБД с сетевым администратором касается, прежде всего, типов используемых сетевых протоколов и сетевого адреса или номера порта, который можно выбрать для сервера. Если пользователи жалуются на медленное выполнение запросов, в то время как SQL Server выполняет запросы очень быстро, то АБД вместе с сетевым администратором должны попытаться найти причину этих проблем, свя­занную с сетью.

Как правило, АБД более тесно взаимодействует с системным администратором, чем с сетевым. Системный администратор отвечает за настройку сервера Windows NT /2000, на котором работает SQL Server. В его обязанности входит также добавление на­копителей на жестких дисках и выделение памяти, необходимой для размещения баз данных. Если вы собираетесь использовать интегрированную с SQL Server систему дос­тупа пользователей, то должны вместе с системным администратором корректно определить учетные записи для пользователей и групп пользователей в Windows NT/2000. Различные типы процедур резервного копирования и восстановления данных для Win­dows NT/2000 Server и SQL Server должны быть проработаны обеими сторонами, так как системному администратору может понадобиться восстановить системный диск, на котором содержится база данных или ее резервная копия.

Разработчики

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

Пользователи

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

SQL Server - это обладающая высокой производительностью СУБД, которая глубоко интегрирована с операционными системами Windows NT/2000 и Windows 9х/Ме, благодаря чему SQL Server может пользоваться всеми преимуществами функций, обеспечиваемыми этими операционными системами. SQL Server - мощная СУБД, в полной мере отвечающая потребностям современных сложных систем типа клиент/сервер.

Архитектура

Благодаря глубокой интеграции SQL Server с операционной системой, под управлением которой она работает, в вашем распоряжении имеются следующие важные возможности:

Симметричная мультипроцессорная обработка (Symmetric multiprocessing - SMP);

Переносимость – работа на многих ОС;

Сетевая независимость;

Надежность.

Симметричная мультипроцессорная обработка (SMP)

Использование SMP позволяет SQL Server повысить производительность с помощью дополнительных процессоров. SQL Server 2000 Enterprise Edition под управлением Windows 2000 Datacenter поддерживает до 32 процессоров и до 64 Гбайт оперативной памяти. SQL Server может автоматически запустить запрос для параллельного выполнения на двух или более процессорах. Все это происходит без вмешательства со стороны пользователя; администраторы также освобождаются от проблем с управлением несколькими процессорами.

В версии SQL Server для Windows 9x поддержка SMP не реализована.

Сетевая независимость

Операционные системы Windows NT/2000 и Windows 9x/Me поддерживают несколько различных типов сетевых протоколов. Этот уровень поддержки простирается вплоть до подключения клиентской части SQL Server. Таким образом, вы можете выбрать сетевой протокол, который будет наиболее полно отвечать вашим потребностям. В настоящее время поддерживаются следующие сетевые протоколы: TCP/IP, IPX/SPX, Named Pipes, AppleTalk и Banyan Vines.

Надежность

Windows NT/2000 и SQL Server обеспечивают надежную защиту данных от не­предвиденного сбоя или отказа системы, динамическое управление памятью, предварительное составление графика выполнения задач и удаленное управление. Эти возможности позволяют поддерживать SQL Server в рабочем состоянии 24 часа в сутки и 7 дней в неделю.

Разработка стратегии и плана инсталляции

Разработка плана инсталляции начинается с анализа требований, вытекающих из характера деятельности предприятия, и пожеланий пользователей. Вы должны рас­смотреть широкий круг вопросов, начиная с выбора и приобретения аппаратного обеспечения и заканчивая принятием решений по установке конкретных параметров SQL Server. Начните с рассмотрения системных требования и пожеланий пользователей. На основании этого изучите возможные конфигурации аппаратного обеспечения и параметры SQL Server. Затем составьте список параметров, чтобы пользоваться им во время инсталляции, и, наконец, установите SQL Server.

Этап 1. Определение системных требований и пожеланий пользователей

Как определить системные требования и узнать пожелания пользователей? Очень просто: задавайте вопросы и анализируйте ответы. Начните с пожеланий пользователей и требований, вытекающих из характера деятельности предприятия, и вы смо­жете решить, какое аппаратное обеспечение вам необходимо. Итак, для начала найдите ответы на следующие вопросы:

Каково назначение системы?

Какие требования предъявляются к СУБД?

Каковы пожелания пользователей и какие требования вытекают из характера деятельности предприятия?

Сколько это будет стоить?

Каково назначение системы

Первый вопрос, который вы должны себе задать: для чего предназначена система и сколько пользователей будут одновременно ее применять (например, система создается для одного отдела, состоящего из 10 пользователей, или для большого предприятия, на котором работают тысячи пользователей). Чем больше пользователей поддерживает система, тем выше требования к быстродействию, оперативной памяти и объему жестких дисков сервера. Компьютер предназначен исключительно для запуска SQL Server или он будет выполнять еще какие-либо функции (например, печать файлов)? Заменяет ли новая система старую в результате модернизации или изменения размера базы данных? Если это действительно замена старой системы, то у вас будет довольно много не­обходимой информации (например, текущая нагрузка системы и ее недостатки). Система является действующей или тестовой, находящейся на стадии разработки? Для действующего сервера необходимы более мощная защита от сбоев и более объемные жесткие диски, чем для сервера тестовой системы.

Каковы требования базы данных

Какие требования предъявляет к серверу база данных? Что SQL Server будет поддерживать в первую очередь: системы-принятия решения или системы выполнения транзакций? Насколько велика будет предполагаемая нагрузка при выполнении транзакций? Если система предназначена для выполнения транзакции, попробуйте определить предполагаемое количество транзакций в день и способ их обработки. Например, сервер может восемь часов простаивать, а затем в течение нескольких часов обрабатывать все транзакции либо равномерно обрабатывать транзакции целый день. Каков ожидаемый размер базы данных? Возможно, вы перемещаете базы данных из старой системы на SQL Server в результате модернизации или изменения их размера. Если это так, вы можете получить информацию о текущем и ожидаемом размерах базы данных и о текущей нагрузке транзакций на систему.

Каковы требования и нужды пользователей

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

Сколько это будет стоить

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

Этап 2. Выбор платформы

Получив ответы на вопросы первого этапа, вы будете готовы к выбору платформы аппаратного обеспечения для SQL Server. Чтобы выбрать платформу, необходимо определиться по следующим четырем пунктам:

Аппаратное обеспечение (включая количество процессоров и необходимые периферийные устройства);

Объем оперативной памяти;

Емкость накопителей на жестких дисках;

Тип файловой системы.

Аппаратное обеспечение

При выборе платформы аппаратного обеспечения вы должны проверить, есть ли в списке совместимости аппаратного обеспечения для Windows NT/2000 марка и мо­дель компьютера, который вы хотите использовать в качестве сервера. Приобретая компьютер, обязательно сообщите фирме-продавцу, что вы собираетесь использовать его в качестве сервера базы данных.

СОВЕТ Микрософт

Вы убережете себя от многих проблем, если будете использовать только те компьютеры, которые сертифицированы корпорацией Microsoft для работы с операционной системой Windows NT/2000.

Нужен ли мне компьютер с несколькими процессорами?

Система Windows NT способна поддерживать до четырех процессоров, a Win­dows 2000 - восемь. SQL Server может воспользоваться преимуществами такой многопроцессорной поддержки без каких-либо специальных дополнительных мо­дулей или изменений конфигурации.

Оперативная память

Для SQL Server необходимо как минимум 32 Мбайт оперативной памяти для версий Personal и Desktop, и 64 Мбайт - для всех остальных версий В новой версии SQL Server вам больше не нужно вручную распределять оператив­ную память и указывать способ ее использования. SQL Server 2000 динамически регулирует используемый объем памяти в зависимости от текущих требований и состояния операционной системы компьютера, на котором он работает.

Независимо от начального объема памяти, спустя некоторое время вы сможете более точно определить, сколько памяти необходимо SQL Server для работы.

Накопители на жестких дисках

Вы должны принять еще одно важное решение: выбрать тип накопителей на жестких дисках и контроллеров к ним. Правильный выбор жестких дисков окажет существенное влияние на общую производительность SQL Server и на отказоустойчивость системы в целом.

Уделите особое внимание выбору типа накопителей на жестких дисках. Выполнение операций ввода-вывода - одно из узких мест всех СУБД

Такое же значение, как скорость жестких дисков, имеет и отказоустойчивость современных дисковых накопителей. Следует максимально защитить базу данных, обеспечив при этом оптимальную производительность. Один из возможных вариан­тов - использовать RAID-массивы (Redundant Array of Inexpensive Disks - избыточный массив недорогих дисков). В конфигурации RAID используется несколько дисков, составляющих одно логическое разделяемое устройство. Таким образом, логически RAID-массив представляет собой одно устройство, а физически это несколько жестких дисков, работающих под управлением соответствующего программного и аппаратного обеспечения. В RAID-конфигурациях файлы можно распределять по нескольким физическим устройствам, что позволяет достичь высокой производительности. Другим пре­имуществом RAID-массивов является их отказоустойчивость и способность к восстановлению данных. RAID-массив 5то уровня позволяет в случае отказа одного диска полностью восстановить содержащиеся на нем данные. При добавлении нового диска RAID-массив автоматически восстановит данные, которые были на потерянном устройстве, и поместит их на новый диск. RAID-массив 5-го уровня обеспечивает высокую степень за­щиты и оптимальную производительность базы данных. RAID-массивы можно создавать на основе аппаратного или программного обеспечения для системы Windows NT/2000. Как правило, RAID-массивы на основе аппаратного обеспечения более быстродействующие, чем массивы, построенные на основе программного обеспечения.

Файловая система

Какую файловую систему следует использовать, работая с Windows NT/2000,- NTFS (New Technology File System - система новой файловой технологии) или FAT (File Alloca­tion Table- таблица размещения файлов)? Что касается производительности, то это не имеет никакого значения, поскольку разница в производительности для двух этих файловых систем совершенно незначительна. В целом NTFS быстрее выполняет операции чтения, a FAT - операции записи. Однако, применяя NTFS, вы можете воспользоваться пре­имуществами системы безопасности Windows NT/2000.

СОВЕТ

Для Windows NT/2000 я обычно рекомендую применять NTFS, чтобы воспользоваться преимуществами системы безопасности NT и ее средствами аудита.

Выбор платформы

Правильно выбранная платформа для SQL Server - это сервер, имеющий максимально возможную конфигурацию из тех, которые вы можете себе позволить, и обеспечивающий нормальную работу SQL Server! Хорошая конфигурация для SQL Server: компьютер с одним или несколькими процессорами, имеющий минимум 256 Мбайт оперативной памяти. Используйте для размещения баз данных RAID-массив 5-го уровня. Поместите журналы транзакций на RAID-массив 1-го уровня (с зеркальными дисками) с разделением данных, а операционную систему и SQL Server - на обычное дисковое устройство или RAID-массив 1-го уровня.

Этап 3. Важные вопросы, требующие ответа

Вам нужно твердо знать ответы на ряд вопросов.

Куда поместить файлы баз данных?

Как назвать экземпляр сервера?

Каков порядок сортировки и кодировки символов?

Какой сетевой протокол использовать?

Под какой учетной записью Windows NT/2000 нужно запускать службы SQL Server и SQL Server Agent?

Расположение файлов баз данных

Во время инсталляции вам нужно будет ответить, где следует установить системные базы данных SQL Server (т.е. указать устройство и путь). К системным базам данных от носятся следующие:

Master - база данных конфигурации SQL Server;

Mode1 - база, которая служит в качестве шаблона для создания других баз данных;

Tempdb - область временного хранения данных (временная база данных);

Msdb - база данных для хранения графика работ и база данных SQL Serve: Agent;

Northwind и Pubs - примеры баз данных.

Стандартное место расположения файлов данных- подкаталог Data корневого ка талога SQL Server. При инсталляции вы можете выбрать другое место расположена файлов или оставить стандартную установку. Выберите устройство, на котором достаточно места для дальнейшего расширения файлов баз данных.

Базы данных master msdb и model обычно увеличиваются не очень быстро (к ним добавляется всего не сколько мегабайтов в неделю). Но база данных tempdb- это совсем другое дело. SQL Server 2000 при необходимости автоматически увеличивает базу данных tempdb, если превышается ее предельный размер, заданный во время инсталляции. А когда SQL Server останавливают или перезапускают, tempdb автоматически возвращается к первоначальному размеру. Поэтому имеет смысл выбрать для базы данных tempdb устройство или RAID-массив, где достаточно места для ее расширения; это устройство должно также обеспечивать высокую производительность.

Имя экземпляра

SQL Server 2000 позволяет установить несколько экземпляров ядра базы данных SQL Server. Если устанавливается один экземпляр SQL Server, то по умолчанию его именем является имя компьютера. Если устанавливается много экземпляров, то каждому из них необходимо присвоить уникальное имя. Имена экземпляров не чувствительны к регистру, их длина не может превышать 16 символов. Первым символом имени должна быть буква, символ подчеркивания, символ номера или амперсант.

Параметры сортировки и кодировки символов

SQL Server 2000 не требует отдельного задания способов сортировки и набора символов для обычных данных и для символов Unicode. Выбор типа сортировки (идентифицируемый именем) задает правила упорядочения и сравнения как для обычных данных, так и для символов Unicode. Например, можно задать сравнение, нечувствительное к регистру символов, или сравнение двоичных эквивалентов сим­волов. В параметры сортировки входят наборы символов, используемых данными. Символы Unicode имеют вдвое больший размер, чем символы ANSI. В ANSI используется 256 символов, а в Unicode - 65 356 символов. При установке SQL Server используются параметры сортировки и кодировки установленной операционной системы Windows и по умолчанию сервер самостоятельно настраивает все эти параметры. Рекомендуется придерживаться этой установки по умолчанию.

ВНИМАНИЕ!

Для изменения параметров сортировки и кодировки после инсталляции SQL Server ; нужно внести изменения в базу данных master и пользовательские базы данных.

Сетевые протоколы

Поскольку SQL Server может одновременно поддерживать несколько различных сетевых протоколов, то клиенты, использующие TCP/IP, могут подключаться к SQL Server одновременно с клиентами, использующими IPX/SPX. Во время инсталляции SQL Server устанавливаются различные сетевые библиотеки, предназначенные для об­мена сетевыми сообщениями с другими серверами и клиентскими рабочими станциями. При инсталляции SQL Server 2000 по умолчанию устанавливается поддержка нескольких сетевых протоколов.

Существует 2 режима безопастности:

Режим аутентификации Windows NT . Использует преимущества системы безопасности Windows NT/2000, в которой задействуется механизм создания учет­ных записей на сервере NT. Данный режим требует установки доверительного соединения с сервером (trusted connection) и может быть реализован через протокол Named Pipes (именованный канал) или мультипротокол.

Смешанный режим. Позволяет пользователям подключиться к SQL Server с помощью режимов аутентификации Windows NT и SQL Server. В последнем случае пользователь, подключающийся к SQL Server, сообщает имя и пароль, который проверяется SQL Server по системной таблице. Пользователи, применяющие до­верительные соединения, могут подключиться к SQL Server с помощью режима аутентификации Windows NT.

Протокол Named Pipes

Это стандартный протокол, устанавливаемый SQL Server. Он обеспечивает обмен сообщениями между процессами, происходящими на локальном сервере или на сер­верах в сети, и используется в сетях Windows NT.

Мультипротокол

Мультипротокол использует для передачи сообщений механизм вызова удаленной процедуры (Remote Procedure Call - RPC) Windows NT и не требует никакой дополнительной настройки. В настоящее время мультипротокол поддерживает протоколы NWLink IPX/SPX, TCP/IP и Named Pipes. Он позволяет пользователям протоколов IPX/SPX и TCP/IP применять преимущества аутентификации пользователей Windows NT.

Протокол NWLink IPX/SPX

Это известный сетевой протокол для сетей Novell. Если во время инсталляции SQL Server вы выберете именно его, то вас попросят указать имя сервисной службы Novell Bindery, чтобы зарегистрировать SQL Server.

протокол TCP/IP

Это популярный протокол, использующийся в Internet. Если вы выберете TCP/IP, то вас попросят указать номер порта TCP/IP для SQL Server, который будет использоваться для соединений с клиентами. Стандартный номер порта для SQL Server - 1433.

И еще несколько других.

А дминистрирование базы данных – это функция управления базой данных (БД). Лицо ответственное за администрирование БД называется “Администратор базы данных” (АБД) или “Database Administrator” (DBA).

Функция “администрирования данных” стала активно рассматриваться и определяться как вполне самостоятельная с конца 60-х годов. Практическое значение это имело для предприятий, использующих вычислительную технику в системах информационного обеспечения для своей ежедневной деятельности. Специализация этой функции с течением времени совершенствовалась, но качественные изменения в этой области стали происходить с началом использования так называемых интегрированных баз данных. Одна такая база данных могла использоваться для решения многих задач.

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

Администратор базы данных (DBA)

Администратор базы данных (АБД) или Database Administrator (DBA) – это лицо, отвечающее за выработку требований к базе данных, её проектирование, реализацию, эффективное использование и сопровождение, включая управление учётными записями пользователей БД и защиту от несанкционированного доступа. Не менее важной функцией администратора БД является поддержка целостности базы данных.

АБД имеет код специальности по общероссийскому классификатору профессий рабочих, должностей служащих и тарифных разрядов (ОКПДТР) - 40064 и код 2139 по Общероссийскому классификатору занятий (ОКЗ). Код 2139 ОКЗ расшифровывается следующим образом: 2 - СПЕЦИАЛИСТЫ ВЫСШЕГО УРОВНЯ КВАЛИФИКАЦИИ, 21 - Специалисты в области естественных* и инженерных наук, 213 - Специалисты по компьютерам, 2139 - Специалисты по компьютерам, не вошедшие в другие группы.

История

Классические подходы к наполнению содержанием понятия "АБД" стали формироваться после издания рабочего отчета группы по базам данных Американского Национального Института Стандартов ANSI/X3/SPARC в 1975 года. В этом отчете была описана трехуровневая архитектура СУБД, в которой выделялся уровень внешних схем данных, уровень концептуальной схемы данных и уровень схемы физического хранения данных. В соответствии с этой архитектурой определялись три роли АБД: администратор концептуальной схемы, администратор внешних схем и администратор хранения данных. Эти роли в случае очень маленькой системы мог играть один человек, в большой системе для выполнения каждой роли могла назначаться группа людей. Каждой роли соответствовал набор функций, а все эти функции вместе составляли функции АБД.

В 1980 - 1981 г. в американской литературе стало принятым включать в функции АБД:

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

В нашей стране в это же время первое определение АБД в ГОСТ-ах задало слишком узкий состав функций АБД:

  • подготовка вычислительного комплекса к установке СУБД, участие в установке и приемке СУБД и самой БД с комплексом прикладных программ
  • управление эксплуатацией БД
  • подготовка словарей и другой НСИ - нормативно-справочной информации - к моменту начала испытания БД

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

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

Основные задачи

Задачи АБД могут незначительно отличаться в зависимости от вида применяемой СУБД, но в основные задачи входит:

  • Проектирование базы данных.
  • Оптимизация производительности базы данных
  • Обеспечение и контроль доступа к базе данных
  • Обеспечение безопасности в базе данных
  • Резервирование и восстановление базы данных
  • Обеспечение целостности баз данных
  • Обеспечение перехода на новую версию СУБД

Основные типы

Среди АБД нет строгого документального разграничения по типам. Но можно выделить несколько общих видов АБД, в зависимости от возложенных на них обязанностей:

  • Системный администратор
  • Архитектор БД
  • Аналитик БД
  • Разработчик моделей данных
  • Администратор приложении
  • Проблемно-ориентированный администратор БД
  • Аналитик производительности
  • Администратор хранилища данных

Должностная инструкция

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

Ниже приведены несколько типовых вариантов должностных инструкций найденных в интернете:

Зарплаты

Оплата труда администраторов баз данных может варьироваться от $1500 до $3000. Наибольшим спросом пользуются администраторы MS SQL или Oracle. Исследовательский центр портала Superjob.ru провёл в 2008 году обзор зарплат по позиции «Администратор баз данных Oracle» в 9 городах России. По этим данным средняя зарплата московских специалистов составляет 70000 руб. в месяц, в Санкт-Петербурге 55000 руб., в Ростове-на-Дону и Самаре 34000 руб. По диапазонам зарплат администраторы Oracle делятся на три уровня. От того в какой уровень попадёт администратор влияет знание серверного оборудования, кластерных технологий, операционных систем, стаж работы, высшее образование, владение английским языком, наличие квалификационных сертификатов и свидетельств об окончании курсов Oracle.