План
Введение
1.Администратор базыданных – основные понятия
1.1 Понятие,классификация и функции администратора базы данных
1.2 Обязанности, связи исредства администратора современных систем управления базами данных
2.Администрирование базыданных
2.1 Управление данными вбазах данных
2.3 Управлениебезопасностью в СУБД
Заключение
Глоссарий
Библиографический список
Приложение 1
Приложение 2
Приложение 3
Введение
Современные базыданных – это сложные многофункциональные программные системы, работающие в открытойраспределенной среде. Они уже сегодня доступны для использования в деловой сфереи выступают не просто в качестве технических и научных решений, но как завершенныепродукты, предоставляющие разработчикам мощные средства управления данными и богатыйинструментарий для создания прикладных программ и систем.
Администрированиебазами данных предусматривает выполнение функций, направленных на обеспечение надежногои эффективного функционирования системы баз данных, адекватности содержания базыданных информационным потребностям пользователей, отображения в базе данных актуальногосостояния предметной области.
Необходимостьперсонала, обеспечивающего администрирование данными в системе БД в процессе функционирования,является следствием централизованного характера управления данными в таких системах,постоянно требующего поиска компромисса между противоречивыми требованиями к системев социальной пользовательской среде. Хотя такая необходимость и признавалась наранних стадиях развития технологии баз данных, четкое понимание и структуризацияфункций персонала, занятого администрированием, сложилось только вместе с признаниеммногоуровневой архитектуры СУБД.
Проблема исследования«Администрирование базы данных» заключается в возможности дать исчерпывающие ответына поставленные вопросы: что представляет собой администрирование базы данных, вчем заключаются его основные функции и задачи, его значение для стабильной и эффективнойработы базы данных.
Актуальность исследования«Администрирование базы данных» несомненна. Можно провести аналогию между администраторомбаз данных и ревизором предприятия. Ревизор защищает ресурсы предприятия, которыеназываются деньгами, а администратор – ресурсы, которые называются данными. Нельзярассматривать администратора баз данных только как квалифицированного техническогоспециалиста, так как это не соответствует целям администрирования. Уровень администраторабаз данных в иерархии организации достаточно высок: чтобы определять структуру данныхи право доступа к ним, администратор должен знать, как работает предприятие и какиспользуются соответствующие данные.
Проблеме администрированиябаз данных внимание уделяется сравнительно недавно – с появлением и развитием современныхбаз данных. Однако в связи с тем, что совершенствование баз данных и систем управленияданных – явление постоянное и непрерывное, проблема остается достаточно актуальной,следовательно, требует дополнительных исследований в данной области компьютерныхтехнологий.
Цель исследованиязаключается в изучении администрирования базы данных
Задачи исследованияформируются исходя из его цели и заключаются в следующем: 1. Рассмотреть понятие,классификацию и функции администратора базы данных. 2.Рассмотреть обязанности, связии средства администратора современных систем управления базами данных. 3.Изучитьосновные направления и принципы администрирования базы данных.
Данное исследованиепроведено с использованием теоретических положений, раскрывающих основные характеристикии элементы исследуемого явления.
Практическая значимостьисследования заключается в его возможном использовании при изучении информационныхтехнологий в высших учебных заведениях.
1.Администратор базы данных – основные понятия
1.1 Понятие, классификация и функции администратора базы данных
Функционированиебазы данных (БД) невозможно без участия специалистов, обеспечивающих создание, функционированиеи развитие базы данных. Такая группа специалистов называется администратором базыданных (АБД). Эта группа специалистов считается составной частью базы данных.
В зависимостиот сложности и объема банка данных, от особенностей используемой системы управлениябазы данных (СУБД), общую схему которой можно увидеть на рисунке (см. Приложение1) служба администрации базы данных может различаться как по составу и квалификацииспециалистов, так и по количеству работающих в этой службе.
Администраторбазы данных выполняют работы по созданию и обеспечению функционирования БД на протяжениивсех этапов жизненного цикла системы. В составе группы администраторов банка данныхможно выделить различные подгруппы в зависимости от выполняемых ими функций. Численностьгруппы администрации, выполняемые ими функции, будут в значительной степени зависетьот масштаба банка данных, специфики хранимой в нем информации, типа банка данных,особенностей используемых программных средств и некоторых других факторов.
В составе администрациибазы данных должны быть системные аналитики, проектировщики структур данных и внешнегопо отношению к банку данных информационного обеспечения, проектировщики технологическихпроцессов обработки данных, системные и прикладные программисты, операторы, специалистыпо техническому обслуживанию. Если речь идет о коммерческом банке данных, то важнуюроль здесь будут играть специалисты по маркетингу.
Администраторыбазы данных выполняют большой круг разнообразных функций:
1. Анализ предметнойобласти: описание предметной области, выявление ограничений целостности, определениестатуса информации, определение потребностей пользователей, определение статусапользователей, определение соответствия «данные – пользователь», определение объемно-временныххарактеристик обработки данных.
2. Проектированиеструктуры базы данных: определение состава и структуры информационных единиц, составляющихбазу данных, задание связей между ними, выбор методов упорядочения данных и методовдоступа к информации, описание структуры БД на языке обработки данных (ЯОД).
3. Задание ограниченийцелостности при описании структуры базы данных и процедур обработки БД: заданиеограничений целостности, присущих предметной области, определение ограничений целостности,вызванных структурой базы данных, разработка процедур обеспечения целостности БДпри вводе и корректировке данных, обеспечение ограничений целостности при параллельнойработе пользователей в многопользовательском режиме.
4. Первоначальнаязагрузка и ведение базы данных: разработка технологии первоначальной загрузки иведения (изменения, добавления, удаления записей) БД, проектирование форм ввода,создание программных модулей, подготовка исходных данных, ввод и контроль ввода.
5. Защита данныхот несанкционированного доступа:
– обеспечениепарольного входа в систему: регистрация пользователей, назначение и изменение паролей;
– обеспечениезащиты конкретных данных: определение прав доступа групп пользователей и отдельныхпользователей, определение допустимых операций над данными для отдельных пользователей,выбор/создание программно-технологических средств защиты данных; шифрование информациис целью защиты данных от несанкционированного использования;
– тестированиесредств защиты данных;
– фиксация попытокнесанкционированного доступа к информации;
– исследованиевозникающих случаев нарушения защиты данных и проведение мероприятий по их предотвращению.
6. Защита данныхот разрушений. Одним из способов защиты от потери данных является резервирование.Используется как при физической порче файла, так и в случае, если в БД внесены нежелательныенеобратимые изменения.
7. Обеспечениевосстановления БД: разработка программно-технологических средств восстановленияБД, организация ведения системных журналов.
8. Анализ обращенийпользователей к БД: сбор статистики обращений пользователей к БД, ее хранение ианализ (кто из пользователей, к какой информации, как часто обращался, какие выполнялоперации, время выполнения запросов, анализ причин безуспешных (в т.ч. и аварийных)обращений к БД.
9. Анализ эффективностифункционирования базы данных и развитие системы: анализ показателей функционированиясистемы (время обработки, объем памяти, стоимостные показатели), реорганизация иреструктуризация баз данных, изменение состава баз данных, развитие программныхи технических средств.
10. Работа с пользователями:сбор информации об изменениях в предметной области, об оценке пользователями работыбазы данных, определение регламента работы пользователей с базой данных, обучениеи консультирование пользователей.
11. Подготовкаи поддержание системных программных средств: сбор и анализ информации о СУБД и другихприкладных программ, приобретение программных средств, их установка, проверка работоспособности,поддержание системных библиотек, развитие программных средств.
12. Организационно-методическаяработа: выбор или создание методики проектирования БД, определение целей и направленийразвития системы, планирование этапов развития базы данных, разработка и выпускорганизационно-методических материалов.
КлассификацияАБД
Существует нескольковидов администраторов БД, а их обязанности вполне могут отличаться от компании ккомпании. Вот характеристики некоторых типов АБД и занимаемых ими положений:
Оперативные (operational)АБД:
манипулируют дисковымпространством
наблюдают за текущейпроизводительностью системы
реагируют на возникающиенеисправности БД
обновляют системноеПО и ПО базы данных
контролируют структурныеизменения БД
запускают процедурырезервного копирования данных
выполняют восстановлениеданных
создают и управляюттестовыми конфигурациями БД
Тактические (tactical)АБД:
реализуют схемыразмещения информации
утверждают процедурырезервного копирования и восстановления данных;
разрабатываюти внедряют структурные элементы БД: таблицы, столбцы, размеры объектов, индексациюи т.п.;
сценарии(scripts)изменения схемы БД;
конфигурационныепараметры БД
утверждают пландействий в случае аварийной ситуации
Стратегические(strategic) АБД:
выбирают поставщикаБД
устанавливаюткорпоративные стандарты данных
внедряют методыобмена данных в рамках предприятия
определяют корпоративнуюстратегию резервирования и восстановления данных
устанавливаюткорпоративный подход к ликвидации последствий аварии и обеспечению доступности данных
Старшие (senior)АБД:
досконально знаютсвой персонал
пользуются высокимспросом
могут написатьскрипт, который освободит их из запертого сундука, брошенного в океан, и чрезвычайногордятся своими произведениями
тратят уйму временина подготовку младших АБД
очень ценятсяруководством и получают бешеные деньги
Младшие (junior)АБД:
мечтают статьстаршим АБД
не слишком сильныв написании скриптов
имеют большуюсклонность к использованию средств управления БД
тоже неплохо получают
Прикладные (application)АБД:
в курсе информационныхнужд компании
помогают в разработкеприкладных задач
отвечают за разработкусхемы и ее изменения
вместе с системнымАБД обеспечивают должный уровень резервирования/ восстановления данных
занимаются построениемтестовых БД
Системные (system)АБД:
отвечают за всенеобходимое для резервирования и восстановления данных
контролируют производительностьсистемы в целом
осуществляют поиски устранение неисправностей
в курсе нынешнихи будущих потребностей БД в плане емкости
в курсе текущегосостояния и нужд БД
Наемные (contract)АБД:
приглашаются подконкретную задачу или в качестве консультантов
передают персоналунеобходимые знания
фиксируют своидействия!
должны прекрасноразбираться в соответствующей области
хороши в качествевременного персонала, для оценки проекта или системы
Администраторы-руководители:
проводят еженедельныесовещания
определяют переченьпервоочередных задач
устанавливаюти оглашают официальный курс и стратегию
утверждают и корректируютдолжностные инструкции и список обязанностей
следят за наличиемсоответствующей документации
1.2 Обязанности, связи и средства администратора современных системуправления базами данных
Поскольку системабаз данных может быть весьма большой и может иметь много пользователей, должно существоватьлицо или группа лиц, управляющих этой системой. Такое лицо называется администраторомбазы данных (АБД).
В любой базе данныхдолжен быть хотя бы один человек, выполняющий административные обязанности; еслибаза данных большая, эти обязанности могут быть распределены между несколькими администраторами.
В обязанностиадминистратора могут входить:
инсталляция иобновление версий сервера и прикладных инструментов
распределениедисковой памяти и планирование будущих требований системы к памяти
создание первичныхструктур памяти в базе данных (табличных пространств) по мере проектирования приложенийразработчиками приложений
создание первичныхобъектов (таблиц, представлений, индексов) по мере проектирования приложений разработчиками
модификация структурыбазы данных в соответствии с потребностями приложений
зачисление пользователейи поддержание защиты системы
соблюдение лицензионногосоглашения
управление и отслеживаниедоступа пользователей к базе данных
отслеживание иоптимизация производительности базы данных
планирование резервногокопирования и восстановления
поддержание архивныхданных на устройствах хранения информации
осуществлениерезервного копирования и восстановления
обращение в корпорациюза техническим сопровождением
В некоторых случаяхбаза данных должна также иметь одного или нескольких сотрудников службы безопасности.Сотрудник службы безопасности главным образом отвечает за регистрацию новых пользователей,управление и отслеживание доступа пользователей к базе данных, и защиту базы данных.
Разработчики приложений
В обязанностиразработчика приложений входит:
проектированиеи разработка приложений базы данных
проектированиеструктуры базы данных в соответствии с требованиями приложений
оценка требованийпамяти для приложения
формулированиемодификаций структуры базы данных для приложения
передача вышеупомянутойинформации администратору базы данных
настройка приложенияв процессе его разработки
установка мерпо защите приложения в процессе его разработки
В процессе своейдеятельности администратор базы данных взаимодействует с другими категориями пользователейбанка данных, а также и с «внешними» специалистами, не являющимися пользователямибазы данных.
Прежде всего,если банк данных создается для информационного обслуживания какого-либо предприятияили организации, то необходимы контакты с администрацией этой организации. Как указывалосьвыше, внедрение БД приводит к большим изменениям не только системы обработки данных,но и всей системы управления организацией. Естественно, что такие большие проектыне могут быть выполнены без активного участия и поддержки руководителей организации.Руководство организации должно быть ознакомлено с возможностями, предоставляемымибазой данных, проинформировано об их преимуществах и недостатках, а также проблемах,вызываемых созданием и функционированием базы данных.
Так как база данныхявляется динамическим информационным отображением предметной области, то желательно,чтобы администратор базы данных в свою очередь был своевременно информирован о перспективахразвития объекта, для которого создается информационная система.
Руководством организациии администратором базы данных должны быть согласованы цели, основные направленияи сроки создания БД и его развития, очередность подключения пользователей.
Очень тесная связьу АБД на всех этапах жизненного цикла базы данных наблюдается с конечными пользователями.Это взаимодействие начинается на начальных стадиях проектирования системы, когдаизучаются потребности пользователей, уточняются особенности предметной области,и постоянно поддерживается как на протяжении процесса проектирования, так и функционированиясистемы.
Следует отметить,что в последнее время наблюдается активное перераспределение функций между конечнымипользователями и администраторами банка данных. Это, прежде всего, связано с развитиемязыковых и программных средств, ориентированных на конечных пользователей. Сюдаотносятся простые и одновременно мощные языки запросов, а также средства автоматизациипроектирования.
Если банк данныхфункционирует в составе какой-либо включающей его автоматизированной информационнойсистемы (например, в АСУ), то АБД должен работать в контакте со специалистами пообработке данных в этой системе.
Администраторыбазы данных взаимодействуют и с внешними по отношению к нему группами специалистови, прежде всего, поставщиками СУБД и ППП, администраторами других баз данных.
базы данных частосоздаются специализированными проектными коллективами на основе договора на разработкуинформационной системы в целом или базой данных как самостоятельного объекта проектирования.В этом случае служба администрации базы данных должна создаваться как в организации-разработчике,так и в организации-заказчике.
На эффективностьработы базы данных оказывают влияние множество внешних и внутренних факторов. Возрастаниесложности и масштабов базы данных, высокая «цена» неправильных или запоздалых решенийпо администрированию БД, высокие требования к квалификации специалистов делают актуальнойзадачу использования развитых средствах автоматизированного (или даже автоматического)администрирования базы данных.
Средства администрированиявключены в состав всех СУБД. Особенно развиты эти средства в корпоративных СУБД.Кроме того, появился целый класс специализированного программного обеспечения: средстваDBA (DataBase Administration – администрирование базы данных).
Типичные функциисредств DBA представлены в Приложении (см. Приложение 1).
2.Администрирование базы данных
2.1 Управление данными в базах данных
Непосредственноеуправление данными во внешней памяти. Эта функция включает обеспечение необходимыхструктур внешней памяти как для хранения непосредственных данных, входящих в БД,так и для служебных целей, например, для убыстрения доступа к данным в некоторыхслучаях (обычно для этого используются индексы). В некоторых реализациях СУБД активноиспользуются возможности существующих файловых систем, в других работа производитсявплоть до уровня устройств внешней памяти. Но подчеркнем, что в развитых СУБД пользователив любом случае не обязаны знать, использует ли СУБД файловую систему, а если использует,то как организованы в ней файлы. В частности, СУБД поддерживает собственную системуименования объектов БД (это очень важно, поскольку имена объектов базы данных соответствуютименам объектов предметной области).
Существует множестворазличных способов организации внешней памяти баз данных. Как и все решения, принимаемыепри организации баз данных, конкретные методы организации внешней памяти необходимовыбирать в тесной связи со всеми остальными решениями.
Управление буферамиоперативной памяти. СУБД обычно работают с БД значительного размера; по крайнеймере этот размер обычно существенно превышает доступный объем оперативной памяти.Понятно, если при обращении к любому элементу данных будет производиться обмен свнешней памятью, то вся система будет работать со скоростью устройства внешней памяти.Единственным же способом реального увеличения этой скорости является буферизацияданных в оперативной памяти. И даже если операционная система производит общесистемнуюбуферизацию (как в случае ОС UNIX), этого недостаточно для целей СУБД, которая располагаетгораздо большей информацией о полезности буферизации той или иной части БД. Поэтомув развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственнойдисциплиной замены буферов. При управлении буферами основной памяти приходится разрабатыватьи применять согласованные алгоритмы буферизации, журнализации и синхронизации. Заметим,что существует отдельное направление СУБД, которые ориентированы на постоянное присутствиев оперативной памяти всей БД. Это направление основывается на предположении, чтов предвидимом будущем объем оперативной памяти компьютеров сможет быть настольковелик, что позволит не беспокоиться о буферизации. Пока эти работы находятся в стадииисследований.
Управление транзакциями.Транзакция – это последовательность операций над БД, рассматриваемых СУБД как единоецелое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) измененияБД, произведенные ею, во внешней памяти, либо ни одно из этих изменений никак неотражается в состоянии БД. Понятие транзакции необходимо для поддержания логическойцелостности БД.
Таким образом,поддержание механизма транзакций – обязательное условие даже однопользовательскихСУБД (если, конечно, такая система заслуживает названия СУБД). Но понятие транзакциигораздо существеннее во многопользовательских СУБД. То свойство, что каждая транзакцияначинается при целостном состоянии БД и оставляет это состояние целостным послесвоего завершения, делает очень удобным использование понятия транзакции как единицыактивности пользователя по отношению к БД. При соответствующем управлении параллельновыполняющимися транзакциями со стороны СУБД каждый пользователь может в принципеощущать себя единственным пользователем СУБД (на самом деле, это несколько идеализированноепредставление, поскольку пользователи многопользовательских СУБД порой могут ощутитьприсутствие своих коллег).
С управлениемтранзакциями в многопользовательской СУБД связаны важные понятия сериализации транзакцийи сериального плана выполнения смеси транзакций. Под сериализаций параллельно выполняющихсятранзакций понимается такой порядок планирования их работы, при котором суммарныйэффект смеси транзакций эквивлентен эффекту их некоторого последовательного выполнения.Сериальный план выполнения смеси транзакций – это такой способ их совместного выполнения,который приводит к сериализации транзакций. Понятно, что если удается добиться действительносериального выполнения смеси транзакций, то для каждого пользователя, по инициативекоторого образована транзакция, присутствие других транзакций будет незаметно (еслине считать некоторого замедления работы для каждого пользователя по сравнению соднопользовательским режимом).
Существует несколькобазовых алгоритмов сериализации транзакций. В централизованных СУБД наиболее распространеныалгоритмы, основанные на синхронизационных захватах объектов БД. При использованиилюбого алгоритма сериализации возможны ситуации конфликтов между двумя или болеетранзакциями по доступу к объектам БД. В этом случае для поддержания сериализациинеобходимо выполнить откат (ликвидировать все изменения, произведенные в БД) однойили более транзакций. Это один из случаев, когда пользователь многопользовательскойСУБД может реально (и достаточно неприятно) ощутить присутствие в системе транзакцийдругих пользователей.
Журнализация.Одно из основных требований к СУБД – надежное хранение данных во внешней памяти.Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановитьпоследнее согласованное состояние БД после любого аппаратного или программного сбоя.Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкиесбои, которые можно трактовать как внезапную остановку работы компьютера (например,аварийное выключение питания), и жесткие сбои, характеризуемые потерей информациина носителях внешней памяти. Примерами программных сбоев могут быть аварийное завершениеработы СУБД (из-за ошибки в программе или некоторого аппаратного сбоя) или аварийноезавершение пользовательской программы, в результате чего некоторая транзакция остаетсянезавершенной. Первую ситуацию можно рассматривать как особый вид мягкого аппаратногосбоя; при возникновении последней требуется ликвидировать последствия только однойтранзакции.
Но в любом случаедля восстановления БД нужно располагать некоторой дополнительной информацией. Другимисловами, поддержание надежного хранения данных в БД требует избыточности храненияданных, причем та их часть, которая используется для восстановления, должна хранитьсяособо надежно. Наиболее распространенный метод поддержания такой избыточной информации– ведение журнала изменений БД.
Журнал – это особаячасть БД, недоступная пользователям СУБД и поддерживаемая особо тщательно (иногдаподдерживаются две копии журнала, располагаемые на разных физических дисках), вкоторую поступают записи обо всех изменениях основной части БД. В разных СУБД измененияБД журнализуются на разных уровнях: иногда запись в журнале соответствует некоторойлогической операции изменения БД (например, операции удаления строки из таблицыреляционной БД), а порой запись соответствует минимальной внутренней операции модификациистраницы внешней памяти. В некоторых системах одновременно используются оба подхода.
Во всех случаяхпридерживаются стратегии «упреждающей» записи в журнал (так называемого протоколаWrite Ahead Log – WAL). Грубо говоря, эта стратегия заключается в том, что записьоб изменении любого объекта БД должна попасть во внешнюю память журнала раньше,чем измененный объект попадет во внешнюю память основной части БД. Известно, еслив СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить всепроблемы восстановления БД после любого сбоя.
Самая простаяситуация восстановления – индивидуальный откат транзакции. Строго говоря, для этогоне требуется общесистемный журнал изменений БД. Достаточно для каждой транзакцииподдерживать локальный журнал операций модификации БД, выполненных в этой транзакции,и производить откат транзакции выполнением обратных операций, следуя от конца локальногожурнала. В некоторых СУБД так и делают, но в большинстве систем локальные журналыне поддерживают, а индивидуальный откат транзакции выполняют по общесистемному журналу,для чего все записи от одной транзакции связывают обратным списком (от конца к началу).
При мягком сбоево внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями,не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированныетранзакциями, которые к моменту сбоя успешно завершились (по причине использованиябуферов оперативной памяти, содержимое которых при мягком сбое пропадает). При соблюдениипротокола WAL во внешней памяти журнала должны гарантированно находиться записи,относящиеся к операциям модификации обоих видов объектов. Целью процесса восстановленияпосле мягкого сбоя является состояние внешней памяти основной части БД, котороевозникло бы при фиксации во внешней памяти изменений всех завершившихся транзакцийи которое не содержало бы никаких следов незаконченных транзакций. Чтобы этого добиться,сначала производят откат незавершенных транзакций (undo), а потом повторно воспроизводят(redo) те операции завершенных транзакций, результаты которых не отображены во внешнейпамяти. Этот процесс содержит много тонкостей, связанных с общей организацией управлениябуферами и журналом. Более подробно мы рассмотрим это в соответствующей лекции.
Для восстановленияБД после жесткого сбоя используют журнал и архивную копию БД. Грубо говоря, архивнаякопия – это полная копия БД к моменту начала заполнения журнала (имеется много вариантовболее гибкой трактовки смысла архивной копии). Конечно, для нормального восстановленияБД после жесткого сбоя необходимо, чтобы журнал не пропал. Как уже отмечалось, ксохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования.Тогда восстановление БД состоит в том, что исходя из архивной копии по журналу воспроизводитсяработа всех транзакций, которые закончились к моменту сбоя. В принципе можно дажевоспроизвести работу незавершенных транзакций и продолжить их работу после концавосстановления. Однако в реальных системах это обычно не делается, поскольку процессвосстановления после жесткого сбоя является достаточно длительным.
2.3 Управление безопасностью в СУБД
Системы управлениябазами данных стали основным инструментом, обеспечивающим хранение больших массивовинформации. Современные информационные приложения опираются, как уже говорилось,в первую очередь, на многопользовательские СУБД. В этой связи пристальное вниманиев настоящее время уделяется проблемам обеспечения информационной безопасности, котораяопределяет степень безопасности организации, учреждения в целом.
Под информационнойбезопасностью понимают защищенность информации от случайных и преднамеренных воздействийестественного или искусственного характера, чреватых нанесением ущерба владельцамили пользователям информации.
Защите подлежатне только данные; в базе данных нарушения в защите могут повлиять на другие частисистемы, что повлечет за собой разрушение и базы данных. Поэтому защита баз данныхохватывает и оборудование, и программное обеспечение, и персонал, и, собственно,данные.
Таким образом,защита баз данных предусматривает предотвращение любых преднамеренных и непреднамеренныхугроз с использованием компьютерных и некомпьютерных средств контроля. Следует такжезащищать: современные информационные системы; глобальную связанность (выход в Internet);разнородность (различные платформы); технологию «клиент-сервер». (см. Приложение3).
Надо отметить,что, разрабатывая систему информационной безопасности, надо помнить, что толькозащищая все составные части системы, можно достичь желаемого результата.
Рассмотрим основныепрограммно-технические меры, применение которых позволит решить некоторые из вышеперечисленныхпроблем: аутентификация и идентичность; управление доступом; поддержка целостности;протоколирование и аудит; защита коммуникаций между клиентом и сервером; отражениеугроз, специфичных для СУБД.
Аутентификацияи идентичность. Проверка подлинности пользователя приложений базы данных чаще всегоосуществляется либо через соответствующие механизмы операционной системы, либо черезопределенный SQL-оператор: пользователь идентифицируется своим именем, а средствомаутентификации служит пароль. Авторизация –предоставление прав (привилегий), позволяющихвладельцу иметь законный доступ к объектам базы данных. Аутентификация – механизмопределения того, является ли пользователь тем, за кого он себя выдает. Эта процедурапозволяет организовать контролируемый доступ к информационной системе (пользователь– идентификатор – пароль). Пароль – наиболее распространенный метод аутентификации,но он не дает абсолютной гарантии, что пользователь является именно тем, за когосебя выдает. При использовании такого подхода создаются значительные сложности дляповторных проверок и исключает подобные проверки перед каждой транзакцией. Средствааутентификации на основе личных карточек или эквивалентного механизма дали бы приложениюбольшую свободу в реализации контроля за подлинностью пользователей.
Управление доступом.После получения права доступа к СУБД пользователь автоматически получает привилегии,связанные с его идентификатором. Это может относиться к процедурам доступа к объектамбазы данных, к операциям над данными. Для основных объектов базы данных могут бытьпостроены таблицы, в которых указывается набор действий, доступных каждому пользователюсистемы.
Каждому возможномудействию над данными таблицы ставится в соответствие двоичное значения, общий результатвозможных операция получается путем суммирования набранных пользователем значений.
Привилегии в СУБДмогут быть разделены на две категории: привилегии безопасности и привилегии доступа.Привилегии безопасности позволяют выполнять административные действия, привилегиидоступа определяют права доступа субъектов к определенным объектам.
До выполненияпроцедуры присваивания привилегий их необходимо создать.
Привилегии можноподразделить в соответствии с видами объектов, к которым они относятся: таблицыи представления, процедуры, базы данных сервер базы данных. Применительно к таблицаммогут быть определены следующие права доступа: право на выборку, удаление, обновление,добавление, право на использование внешних ключей, ссылающихся на данную таблицу.По умолчанию пользователь не имеет никаких прав доступа ни таблицам, ни к представлениям.По отношению к процедурам можно предоставить право на их выполнение, однако приэтом не указываются привилегии на право доступа к объектам, обрабатываемым процедурами.Это позволяет выделять неконтролируемый доступ для выполнения строго определенныхопераций над данными. По отношению к базе данных выделяемые права на самом делеявляются запретительными: ограничение на число операций ввода/вывода строк, числострок, возвращаемым одним запросом.
Оператор позволяетреализовать следующие виды ограничений доступа:
операционные ограничения(за счет прав доступа операторов выборки, вставки, удаления и обновления, применяемыеко всем или отдельным столбцам таблицы);
ограничения позначениям (за счет механизма представлений);
ограничения наресурсы (за счет привилегий к базам данных).
СУБД предоставляетспецифическое средство управление доступом – представления, которые позволяют делатьвидимыми только отдельные столбцы базовых таблиц. В результате выполнения запросак представлению, а не к таблице может быть возвращена таблица из нуля строк, а некод ответа, свидетельствующий о нарушении прав доступа. Это важно, поскольку этотответ лишает возможности поиска ответа другим путем, например, через анализ кодов,ответов, возвращаемых после обработки SQL-запросов.
Управление доступомбазируется на реализации следующего минимального набора действий: произвольное управлениедоступом; обеспечение безопасности повторного использования объектов; использованиеметок безопасности; принудительное управление доступом.
Произвольное управлениедоступом – метод ограничения доступа к объектам, основанный на учете личности субъектаили групп, в которую субъект входит. Группа – это именованная совокупность пользователей;объединение субъектов в группы облегчает процесс администрирования данных, и строитсяна основе формальной структуры организации. Эта технология обеспечивает владельцуобъекта (представления, сервера базы данных, процедуры, таблицы) передачу по своемуусмотрению привилегий другому лицу. Этим лицом в данной ситуации может выступатьсубъект-пользователь, группа пользователей и такой возможный носитель привилегийкак роль.
Привилегии распределяютсяв зависимости от статуса пользователей (администратор сервера базы данных и базаданных, прочие пользователи). Особенно важным следует считать поддержание уровнязащиты привилегий администратора сервера базы данных, т.к. компрометация его пароляможет привести к серьезным проблемам для всей хранящейся информации.
Главное достоинствоприменения произвольного управления доступом – гибкость, однако такие сопутствующиехарактеристики как рассредоточенность управления и сложность централизованного контролясоздают немало проблем для обеспечения безопасности данных.
В качестве дополненияк средствам управления доступа можно отнести безопасность повторного использованияобъектов, которая должна гарантироваться для областей оперативной памяти, в частности,для буферов с образами экрана, расшифрованными паролем, для магнитных носителей.Следует обратить внимание и на обеспечение безопасности повторного использованиясубъектов. Это означает лишение прав для входа в информационную систему всех пользователей,покинувших организацию.
Специалисты поуправлению безопасностью информации считают достаточным для большинства коммерческихприложений использование средств произвольного управления доступом. Тем не менее,останется нерешенной одна важная проблема – слежение за передачей информации.
Средства произвольногоуправления доступом не могут помешать авторизованному пользователю законным путемполучить конфиденциальную информацию и сделать ее доступной для других пользователей.Это происходит по той причине, что при произвольном управлении доступом привилегиисуществуют изолированно от данных. Для решения этой проблемы применяют подход, позволяющийосуществить разделение данных по уровням секретности и категориям доступа, называемыйметками безопасности.
Метка безопасностисостоит из двух частей: уровня секретности и списка категорий. Первая составляющаязависит от приложения и в стандартном варианте может выглядеть как спектр значенийот «совершенно секретно» до «несекретно». Вторая составляющая позволяет описатьпредметную область, разделяя информацию «по отсекам», что способствует лучшей защищенности.Метки безопасности строк таблица неявно добавляются к каждой строке реляционногоотношения.
Каждый пользовательтакже получает и собственную метку безопасности, которая определяет степень егоблагонадежности. Пользователь получает доступ к данным, если степень его благонадежностисоответствует требованиям соответствующей метки безопасности, а именно: уровеньсекретности пользователя должен быть не ниже уровня секретности данных; набор категорий,заданных в метке безопасности данных, должен целиком находиться в метке безопасностипользователя.
Механизм метокбезопасности не отменяет, а дополняет произвольное управление доступом: пользователипо-прежнему могут оперировать с таблицами только в рамках своих привилегий, но получатьтолько часть данных столбец в метками безопасности не включается в результирующуютаблицу). Основная проблема, имеющая место при использовании меток безопасности,поддержание их целостности. Это означает, что все объекты и субъекты должны бытьпомечены и при любых операциях с данными метки должны оставаться правильными. Придобавлении или изменении строк метки, как правило, наследуют метки безопасностипользователя, инициировавшего операцию. Таким образом, даже если авторизованныйпользователь перепишет секретную информацию в общедоступную таблицу, менее благонадежныепользователи не смогут ее прочитать.
Принцип принудительногоуправления доступом основан на сопоставлении меток безопасности субъекта и объекта.Для чтения информации из объекта необходимо доминирование метки субъекта над меткойобъекта. При выполнении операции записи информации в объект необходимо доминированиеметки безопасности объекта над меткой субъекта. Этот способ управления доступомназывается принудительным, т.к. не зависит от воли субъектов. Он нашел применениев СУБД, отличающихся повышенными мерами безопасности.
Поддержка целостности.Обеспечение целостности данных не менее важная задача, чем управление доступом.Главными врагами баз данных являются ошибки оборудования, администраторов, прикладныхпрограмм и пользователей, а не злоумышленников. С точки зрения пользователей СУБД,основными средствами поддержания целостности данных являются: ограничения; правила.
Ограничения могутподдерживаться непосредственно в рамках реляционной модели данных, а могут задаватьсяв процессе создания таблицы. Табличные ограничения могут относиться к группе столбцов,отдельным атрибутам. Ссылочные ограничения отвечают за поддержание целостности связеймежду таблицами. Ограничения накладываются владельцем таблицы и влияют на результатпоследующих операций с данными. Ограничения являются статическим элементом поддержанияцелостности, т.к. они или разрешают выполнять действие или нет.
Правила позволяютвызывать выполнение заданных процедур при определенных изменениях базы данных. Правилаассоциируются с таблицами и срабатывают при изменении этих таблиц. В отличие отограничений, которые обеспечивают контроль относительно простых условий, правилапозволяют проверять и поддерживать соотношения любой сложности между элементамиданных в базе. В контексте информационной безопасности необходимо отметить, чтосоздание правила, ассоциированного с таблицей, может реализовать только владелецэтой таблицы. Пользователь, действия которого вызывают срабатывание правила, долженобладать лишь необходимыми правами доступа к таблице. Тем самым правила неявно расширяютпривилегии пользователя. Подобные расширения должны контролироваться административно,так как даже незначительное изменение правила может кардинально повлиять на защищенностьданных. Существует явное предостережение при использовании правил как инструментаинформационной безопасности: ошибка в сложной системе правил чревата непредсказуемымипоследствиями для всей базы данных.
Протоколированиеи аудит. Аудит – проверка того, все ли предусмотренные средства управления задействованыи соответствуют уровню защищенности установленным требованиям. Такая мера как протоколированиеи аудит состоит в следующем: обнаружение необычных и подозрительных действий пользователейи идентификация лиц, совершивших эти действия; оценка возможных последствий состоявшегосянарушения; оказание помощи; организация пассивной защиты информации от нелегальныхдействий пользователя: поддержка точности вводимых данных; поддержка документациив активном виде; корректное тестирование пользователей.
Рекомендуетсяпри выполнении организации протоколирования фиксировать факты передачи привилегийи подключения к той или иной базе данных.
Средства поддержкидоступности. Следующим вопросом в рассмотрении проблемы обеспечения информационнойбезопасности является анализ средств поддержания высокой готовности. Если речь идето СУБД, то необходимо в архитектуре аппаратно-программного комплекса иметь средства,обеспечивающие нейтрализацию аппаратных отказов и восстановление после ошибок обслуживающегоперсонала или прикладных программ.
Сохранение информациибазы данных на диски, помещаемые затем в безопасное место, уже длительное времяактивно применяется для информационных систем. При архивировании сохраняются пространствабазы данных и многочисленная сопутствующая информация, необходимая для последующеговосстановления. Резервное копирование – периодически выполняемая процедура получениякопии базы данных и ее журнала изменений на носителе, сохраняемом отдельно от системы.Надо помнить, что архив отражает состояние базы данных на время начала архивирования.Резервные копирования логических журналов транзакций сохраняет файлы журналов; интерпретацияпоследних позволяет восстановить базу данных до состояния, более позднего, чем моментпоследнего архивирования. На основании полученной информации из архива и/или резервнойкопии может быть осуществлено восстановление как архивной информации (физическоевосстановление), так и более свежие состояние базы данных (логическое восстановление).Можно перечислить возможности службы восстановления на примере СУБД Informix: архивированиив горячем режиме, т.е. без прерывания работы сервера; резервное копирование журналовтранзакций; сохранение на удаленных устройствах; сохранение по заранее определенномурасписанию без участия оператора; сжатие и шифрование информации. Контрольные точки– момент синхронизации между состоянием базы данных и журнала транзакция. В этовремя принудительно выгружаются содержимое буфера оперативной памяти на устройствавторичной памяти.
Рассмотренныевыше средства сохранения могут обеспечить восстановление с минимальными потерямипользовательской информации, однако работа сервера базы данных будет на некотороевремя прервана.
Следующий механизм,обеспечивающий высокий уровень отказоустойчивости – технология тиражирования данных.Тиражирование данных – это асинхронный перенос изменений объектов исходной базыданных в базы, принадлежащие различным узлам распределенной системы. В конфигурациисерверов базы данных выделяют один основной и ряд вторичных. В обычном режиме работыосновной сервер выполняет чтение и обновление данных, обеспечивает перенос зафиксированныхизменений на вторичные серверы. В случае отказа основного сервера его функции автоматически(вручную) переводятся на вторичный сервер в режим работы “чтение + запись”. Послевосстановления функций основного сервера ему может быть присвоен статус вторичного,а вторичному делегированы все полномочия основного (при этом обеспечивается непрерывнаядоступность данных). Процедура тиражирования осуществляется либо в синхронном, либов асинхронном режиме. Благодаря первому осуществляется гарантированность полнойсогласованности данных, т.е. на вторичном сервере будут зафиксированы все транзакции,выполненные на основном. Асинхронный режим улучшает рабочие характеристики системы,не всегда обеспечивая полную согласованность (стоит заметить, что далеко не во всехзадачах требуется синхронизация фиксации; достаточно поддерживать тождественностьданных лишь в критические моменты времени).
Защита коммуникациймежду клиентом и сервером. Проблема защиты коммуникаций между клиентом и серверомв информационных системах не является специфичной для СУБД. Для обеспечения защитыинформации выделяется сервис безопасности, в функции которого входит аутентификация,шифрование и авторизация. Эти вопросы были рассмотрены выше.
Отражение угроз,специфичных для СУБД. Однако главный источник угроз для СУБД лежит в самой природебаз данных. Наличие специфического непроцедурного языка SQL, процедур и механизмправил – все это обеспечивает потенциальному злоумышленнику средства для полученияинформации, на которую он не имеет полномочий. Нередко нужную, но недоступную постатусу информацию можно получить путем логического вывода. Например, используяоперацию вставки, а не выбора (на которую прав нет), анализировать коды завершенияSQL-операторов, и получать информацию о наборе первичных ключей. Для борьбы с подобнымиугрозами используется механизм размножения строк для СУБД, поддерживающий меткибезопасности. Суть этого метода состоит в том, чтобы в состав первичного ключа добавлятьметку безопасности, что обеспечивает одновременное хранение в базовой таблице несколькоэкземпляров строк с одинаковыми значениями важных ключей.
Агрегирование– метод получения новой информации путем комбинирования данных, добытых легальнымпутем из различных таблиц базы данных. Бороться с агрегированием можно за счет тщательногопроектирования модели данных и максимального ограничения доступа пользователя кинформации.
Таким образом,можно определить некоторые стратегии в области безопасности: минимум привилегий;разделение обязанностей; эшелонированная оборона (сервер базы данных, средства защитыСУБД и операционной системы); разнообразие средств защиты; невозможность переходав небезопасное состояние; всеобщая поддержка мер безопасности; «человеческий фактор».
Заключение
На основании проведенногоисследования «Администрирование баз данных» можно сделать следующие выводы.
Администрированиебазами данных предусматривает выполнение функций, направленных на обеспечение надежногои эффективного функционирования системы баз данных, адекватности содержания базыданных информационным потребностям пользователей, отображения в базе данных актуальногосостояния предметной области.
АдминистраторБД отвечает за целостность информационных ресурсов компании. На нем лежит ответственностьпо созданию, обновлению и сохранности связанных между собой резервных копий файлов,исходя из задач предприятия. Этот человек должен в мельчайших подробностях знатьсуществующие механизмы восстановления программного обеспечения БД.
Возможны ситуации,при которых администратору БД потребуется на основе логических прикладных моделейсоздавать элементы физической схемы, а также поддерживать связь пользователей ссистемой и обеспечивать соответствующий уровень информационной безопасности, следяза тем, чтобы доступ к данным имели только те люди, которые в нем нуждаются.
АдминистраторБД должен уметь определять узкие места системы, ограничивающие ее производительность,настраивать SQL и программное обеспечение СУБД и обладать знаниями, необходимымидля решения вопросов оптимизации быстродействия БД.
Администраторбазы данных (АБД) должен координировать действия по сбору сведений, проектированиюи эксплуатации базы данных, а также по обеспечению защиты данных. Он обязан учитыватьтекущие и перспективные информационные требования предметной области, что являетсяодной из главных задач.
Правильная реализацияфункций администрирования базы данных существенно улучшает контроль и управлениересурсами данных предметной области. С этой точки зрения функции АБД являются большеуправляющими, нежели техническими. Принципы работы АБД и его функции определяютсяподходом к данным как к ресурсам организации, поэтому решение проблем, связанныхс администрированием начинается с установления общих принципов эксплуатации СУБД.
Важная задачаАБД состоит в устранении противоречий между различными направлениями деятельностиорганизации по создании концептуальной, а затем и логической схемы данных предметнойобласти. Кроме определения данных и прав доступа, от АБД может потребоваться разработкапроцедур и руководств по ведению данных. В процессе сбора информации АБД долженуметь пользоваться своей властью и влиянием, обладать определенным стажем работыи хорошо разбираться в обстановке в компании. АБД необходимо установить эффективнуювзаимосвязь со всеми группами сотрудников, которым приходиться обращаться с базойданных.
Таким образом,можно сделать определенные обобщения.
Администраторбазы данных – это: управляющий данными, а не хозяин; системный программист определенногопрофиля, а также эксперт высшего уровня, обеспечивающий службу эксплуатации решениямипо процедурам и регламентам работы; лицо, принимающее окончательное решение в своейобласти, и человек, обладающий способностями к общению, совместному планированиюи компромиссам.
Надежность и достоверность– это ключевые понятия в деятельности администратора базы данных. Он должен уметьвести тщательное документирование всех действий по управлению базой данных.
Глоссарий
№№
п/п Понятие Содержание 1 2 3 1 База данных совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. База данных является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД 2 Документографическая база данных база данных, в запись которой отражает конкретный документ, содержит его библиографическое описание и, возможно, иную информацию о нем 3 Информационный продукт документированная информация, подготовленная в соответствии с потребностями пользователей и представленная в форме товара. Информационными продуктами являются программные продукты, базы и банки данных и другая информация 4 Локальная база данных база данных, размещенная на одном или нескольких носителях на одном компьютере 5 Объектно-ориентированная база данных база данных, в которой данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями 6 Распределенная база данных совокупность баз данных, физически распределенная по взаимосвязанным ресурсам вычислительной сети и доступная для совместного использования 7 Реляционная база данных
база данных, построенная на основе реляционной модели. В реляционной базе каждый объект задается записью (строкой) в таблице.
Реляционная база создается и затем управляется с помощью реляционной системы управления базами данных 8 Система управления базами данных (СУБД) комплекс программных и лингвистических средств общего или специального назначения, реализующий поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей в условиях принятой технологии обработки данных 9 Система управления распределенными базами данных
система управления базами данных, содержимое которых располагается в нескольких абонентских системах информационной сети.
В СУРБД используется комбинация централизованного и локального способов хранения данных 10 Структура базы данных принцип или порядок организации записей в базе данных и связей между ними
Библиографический список
1.Веретенникова Е.Г., ПатрушинаС.М., Савельева Н.Г. Информатика: Учебное пособие. Серия «Учебный курс», –М., 2002.
2.Гуде С.В., Ревин С.Б. Информационныесистемы. Учебное пособие. –М., 2002.
3.Дунаев С. Доступ к базамданных и техника работы в сети. Практические приемы современного программирования.– М., 2005.
4.Информатика: Учебник/КайминВ.А., 2-е изд. перераб. и доп. – М: Инфра-М., 2002.
5.Информатика: Учебник/Подред. Н.В.Макаровой, 3-е изд., перераб. и доп. – М.: Финансы и статистика, 2001.
6.Информатика: Учебник длявузов/Острейковский В.А., М: Высшая школа, 2001.
7.Информатика: Учебник длявузов/Козырев А.А. – СПб., 2002.
8.Мейер Д. Теория реляционныхбаз данных: пер. с англ. – М., 2005.
9.Ревунков Г.И., СамохваловЭ.Н., Чистов В.В. Базы и банки данных и знаний. Учебник для вузов//Под ред. В.Н.Четверикова.– М., 2003.
10.Фаронов В.В., Шумаков П.В.Руководство разработчика баз данных. – М.: Нолидж, 2000.
11.Фундаментальные основыинформатики: социальная информатика.: Учебное пособие для вузов / Колин К.К. – М.:Академ.проект: Деловая книга Екатеринбург, 2000.
Приложение 1
Таблица 1. — Типичныефункции средств DBAМониторинг работы БД, реакция на нештатные ситуации Наблюдение за объектами БД, анализ, сопоставление характеристик Оптимизация хранения данных, оптимизация работы сервера Сопровождение БД, файлов, табличных пространств, откатных сегментов Слежение за использованием ресурсов, выдача статистики Планирование необходимых вычислительных мощностей Анализ свободного пространства, устранение дефрагментации Перенос таблицы на новое пространство, в другую СУБД, на другой компьютер Обнаружение и исправление возникающих неполадок Задание пороговых значений для слежения за нужными объектами Наблюдение за параметрами, влияющими на производительность БД Перенос содержимого базы данных в другую СУБД
Приложение 2
/>
Рис.1 — Обобщенная структура системы управления базой данных
Приложение 3
/>
Рис.1 — Архитектура «клиент-сервер»