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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Курсовая работа

Название дисциплины: Базы данных

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

Студент Лавриненко Алексей Михайлович

Введение

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

2. Управление целостностью данных в системах управления базами данных

Заключение

Глоссарий

Приложения

Введение

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

Одними из первых хранилищ данных, в широком смысле это слова, можно считать «кипу» - образец узелковой письменности инков. «Кипу» - это древняя мнемоническая и счётная система инков и их предшественников в Андах, своеобразная письменность; представляет собой сложные верёвочные сплетения и узелки, изготовленные из шерсти южноамериканских верблюдовых, либо из хлопка. В кипу могло быть от нескольких свисающих нитей до 2000. Она использовалась как для передачи сообщений, так и в других аспектах общественной жизни - в качестве календаря, топографической системы, для фиксации налогов, законов и пр. Один из испанских хронологов - писал, что «вся империя инков управлялась посредством кипу».

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

С 1955г., когда появилось программируемое оборудование обработки записей, начинается история хранилищ данных в узком смысле, в том, каким мы теперь его знаем. Гражданский кодекс РФ (глава 70, статья 1260) гласит, что базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и т.д.), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ). В соответствии с другим определением, введенным Кристофером Дейтом в его классическом учебнике «Введение в системы баз данных», база данных - это организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей. Как бы то ни было, отличительной особенностью современных баз данных является то, что они хранятся и обрабатываются в вычислительной системе. А по причине того, что современные базы данных довольно объемны, а системы управления ими довольно сложны, со временем появилось отдельное направление в информационных системах и технологиях - администрирование баз данных.

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

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

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

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

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

архитектор базы данных;

аналитик базы данных;

разработчик моделей данных;

системный разработчик программного обеспечения;

прикладной разработчик программного обеспечения;

аналитик производительности;

администратор хранилища данных;

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

Администраторы базы данных выполняют очень широкий спектр функций:

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

проектирование структуры базы данных: определение состава и структуры информационного наполнения базы данных, определение связей между ними, выбор методов доступа к данным, описание структуры базы данных на языке описания данных;

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

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

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

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

ведение статистической и аналитической деятельности: сбор статистики использования базы данных, ее хранение и детальный анализ (к каким именно данным, кем и как часто производится обращение, какие выполняются операции, время выполнения запросов, анализ причин неуспешных и аварийных обращений к базе данных, анализ показателей функционирования системы (время потраченное на обработку, потребляемые объемы памяти и процессорного времени), реорганизация баз данных, развитие программных и технических средств доступа и размещения баз данных;

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

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

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

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

аналитик базы данных: разработка комплексных предложений с целью улучшения состояния базы данных; обеспечение интеграции различных программных приложений для решения оптимизационных и стратегических задач;

аналитик производительности: оценка и анализ по использованию ресурсов аппаратного обеспечения, поиск узких мест; внесение и обоснование предложений по улучшению аппаратного обеспечения;

прикладной программист: разработка и модернизация прикладного программного обеспечения;

техническая поддержка: консультирование и помощь конечным пользователям в освоении и использовании базы данных.

2. Управление целостностью данных в системах управления базами

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

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

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

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

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

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

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

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

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

порядковый номер, время и тип изменения данных

идентификатор транзакции

измененный объект

предыдущее и новое состояние измененного объекта.

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

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

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

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

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

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

Чаще всего проверка подлинности пользователя базы данных осуществляется через соответствующие механизмы операционной системы или самой базы данных: пользователь авторизуется своим именем, а аутентифицируется паролем. Авторизация - это процесс подтверждения или проверки прав пользователей на выполнение некоторых действий. Аутентификация - это подтверждение подлинности. Т.е., по сути, авторизация это заявление пользователя о том, что он имеет некие права в данной базе данных (его права привязаны к его имени пользователя - логину), а аутентификация, это подтверждение пользователя на право использования данного логина. Такая процедура использования пары логин/пароль является одним из наиболее простых, но весьма эффективных методов контроля доступа к данным. Она является наиболее распространенной, но не очень надежной - слабость защиты в первую очередь связана с тем, что весьма сложно определить факт того, что пару логин/пароль узнали посторонние лица. Кроме того, обычные пользователи крайне редко придумывают себе хорошие сложные пароли, как правило, они останавливаются на чем-то простом и имеющим некую логичную последовательность - так им проще запомнить пароль, но и проще его подобрать. Другим, менее распространенным методом контроля доступа, является контроль доступа с использованием физических носителей - когда вместо логина и пароля используется смарт-карта или USB-ключ. Данный метод лишен недостатка «незаметного» овладения ключом посторонними лицами, но не лишен своих недостатков - например весьма вероятна механическая порча ключа, особенно тонких смарт-карт. Каждый из этих методов в отдельности дает однофакторную авторизацию, а их комбинирование дает более надежный метод контроля доступа к данным, называемый двухфакторной авторизацией.

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

Привилегии в системе управления базами данных делятся на две основные группы - привилегии безопасности и привилегии доступа. Привилегии безопасности всегда выделяются конкретному пользователю. Всего таких привилегий пять:

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

createdb - это привилегия создавать и удалять базы данных. Этой привилегией обладает не только администратор сервера, но и администраторы баз данных;

operator - это право на выполнение действий, которые относят к компетенции оператора, т.е. запуск и остановка сервера, сохранение и восстановление информации. Помимо администраторов сервера и баз данных этой привилегией обладает также администратор операционной системы;

maintain_locations - это привилегия управления расположением баз данных. Ей должны обладать администраторы сервера баз данных и администратор операционной системы;

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

Привилегии доступа выделяются пользователям, группам пользователей или ролям. Эти привилегии присваивает обладатель привилегии security, обычно это администратор сервера баз данных.

Привилегии доступа делятся на разные виды, в зависимости от объекта, привилегии на который выдаются - таблицы, представления, процедуры, базы данных и сервер данных. Если говорить о таблицах и представлениях, то выделяют следующие привилегии доступа:

select - это право совершать выборки данных из таблиц;

inset - это право на добавление данных в таблицы;

delete - это право на удаление данных из таблиц;

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

references - это право на использование внешних ключей, ссылающихся на данную таблицу.

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

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

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

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

Основными источниками нарушения целостности данных являются:

ошибки и отказы оборудования;

ошибки обслуживающего и администрирующего персонала;

ошибки прикладных и системных программ;

ошибки пользователей.

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

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

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

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

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

обеспечение возможности реконструкции последовательности событий;

обнаружение попыток нарушений информационной безопасности;

предоставление информации для выявления и анализа проблем.

дата и время события;

идентификатор пользователя, ставшего причиной события;

тип события;

результат действия (успех или отказ);

источник запроса (например, имя клиентской станции);

имена затронутых объектов (например, открываемых таблиц);

внесения изменений в базы данных защиты (например смена прав доступа).

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

подобное протоколирование сильно потребляет системные ресурсы;

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

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

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

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

простота эксплуатации - это автоматизация процесса резервного копирования, приводящая к минимизации участия человека;

быстрота внедрения - это простота установки и настройки программы резервного копирования, быстрое обучение пользователей.

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

Максимальная отказоустойчивость системы достигается путем построения кластера. Кластер - это группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения конечного пользователя единый аппаратный ресурс. В общем случае кластеры делятся на несколько видов, в зависимости от решаемых задач: отказоустойчивые кластеры, кластеры с балансировкой нагрузки, вычислительные кластеры и grid-системы. Для обеспечения доступности базы данных применяется отказоустойчивый кластер, он же кластер высокой доступности. Избыточное число серверов в кластере гарантирует, что даже в случае полного отказа одного из серверов конечный пользователь ничего не заметит, для него база данных будет работать в штатном режиме. Существенным недостатком кластеров является их чрезвычайно высокая стоимость, поэтому на практике обеспечение доступности базы данных, как правило, достигается за счет резервирования отдельных узлов сервера, а именно - построение RAID-массивов.

RAID - это массив из нескольких жестких дисков, управляемых контроллером (или программным обеспечением), взаимосвязанных скоростными каналами и воспринимаемых системой как единое целое. В зависимости от типа используемого массива обеспечиваются различные степени отказоустойчивости и быстродействия. Наиболее часто применяемыми являются RAID-массивы уровней 1 (зеркалирование) и 5 (чередование с невыделенным диском четности). Т.к. RAID-массив строится на основе избыточного количества винчестеров, то одним из минусов данной технологии является добавочная стоимость «лишних» жестких дисков, при том, что в итоге не весь их объем доступен для полезного использования (итоговый доступный объем жестких дисков зависит от конкретного уровня RAID-массива). Кроме того, в зависимости от уровня RAID-массива меняется скорость чтения/записи данных - в некоторых случаях она повышается, в некоторых случаях она понижается.

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

Заключение

Подводя итог всему вышесказанному можно сделать следующие выводы.

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

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

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

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

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

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

Кроме создания и внедрения базы данных, определения данных и прав доступа, от администратора зачастую требуется разработка руководств по ведению данных.

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

Глоссарий

Определение

Процесс подтверждения (проверки) прав пользователей на выполнение некоторых действий

База данных

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

Буферизация

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

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

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

Группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс

Имя учётной записи пользователя

Система управления базами данных

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

Системное программное обеспечение

Комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы

Целостность базы данных

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

Язык описания данных

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

база данные администратор буферизация безопасность

Список использованных источников

1. Хомоненко А.Д., Базы данных, 5 издание - М.:КОРОНА принт, 2006, 672 стр.

2. Голицина О.Л., Базы данных: учебное пособие, - М.: Форум-Инфра, 2008, 352 стр.

3. Марков А.С., Базы данных: введение в теорию и методологию - М.: Финансы и статистика, 2006, 512 стр.

4. Коннолли Т., Базы данных. Проектирование, реализация и сопровождение. Теория и практика - М.: Вильямс, 2007, 1436 стр.

5. Григорьев Ю.А., Банки данных: Учебник для вузов, М.: МГТУ им.Баумана, 2007, 320 стр.

6. Когаловский М.Р., Энциклопедия технологий баз данных - М.: Финансы и статистика, 2009, 800 стр.

7. Кузин А.В. Базы данных - М.: Академия, 2010, 320 стр.

8. Крейг С. Маллинс, Администрирование баз данных. Полное справочное руководство по методам и процедурам - М.: КУДИЦ-Образ, 2008, 752 стр.

9. Ревунков Г.И., Самохвалов Э.Н., Чистов В.В., Базы и банки данных и знаний. Учебник для вузов. - М., 2009, 392 стр.

10. Гуде С.В., Ревин С.Б., Информационные системы. Учебное пособие. -М., 2009, 147 стр.

11. Фред Роланд, Основные концепции баз данных - М.: Вильямс, 2008, 256 стр.

Приложения

Приложение А

Структура клиент-серверной СУБД

Приложение В

Таблица. Уровни RAID - основные характеристики, преимущества, недостатки

Уровень RAID

Количество дисков в массиве

Эффек-тивная ёмкость

Отказоус-тойчивость

Преимущества

Недостатки

наивысшая производительность

очень низкая надёжность

от 2, чётное

высокая производительность и надёжность

стоимость дискового пространства больше в N-раз

от 4, чётное

наивысшая производительность и очень высокая надёжность

двойная стоимость дискового пространства

экономичность, высокая надёжность

производительность ниже RAID 0 и 1

от 6, чётное

высокая надёжность и производительность

высокая стоимость и сложность обслуживания

экономичность, высокая надёжность, скорость выше RAID 5

быстрое реконструирование данных после сбоя, экономичность, высокая надёжность, скорость выше RAID 5

производительность ниже RAID 0 и 1, резервный накопитель работает на холостом ходу и не проверяется

экономичность, наивысшая надёжность

производительность ниже RAID 5

от 6, чётное

очень высокая надёжность

высокая стоимость и сложность организации

N - количество дисков в массиве

S - объем наименьшего диска

Для уровней 10, 50 и 60 - данные не будет потеряны даже при выходе из строя всех дисков в пределах одного зеркала

Размещено на Allbest.ru

Подобные документы

    Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.

    реферат , добавлен 01.11.2009

    Основные функции системы управления базами данных. Комплекс программных и лингвистических средств общего или специального назначения. Условия принятой технологии обработки данных. Управление буферами оперативной памяти. Журнализация и её значение.

    курсовая работа , добавлен 19.01.2012

    Структура и функции системы управления базами данных (СУБД). Управление хранением данных и доступом к ним. Защита и поддержка целостности данных. Надежность хранения данных во внешней памяти. Классификация СУБД по способу доступа к базе данных.

    презентация , добавлен 05.06.2014

    Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.

    курсовая работа , добавлен 10.03.2016

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

    курсовая работа , добавлен 07.12.2010

    презентация , добавлен 29.09.2013

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

    курсовая работа , добавлен 11.12.2014

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

    презентация , добавлен 14.10.2013

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

    реферат , добавлен 11.01.2010

    Теоретические сведения и основные понятия баз данных. Системы управления базами данных: состав, структура, безопасность, режимы работы, объекты. Работа с базами данных в OpenOffice.Org BASE: создание таблиц, связей, запросов с помощью мастера запросов.

А дминистрирование базы данных – это функция управления базой данных (БД). Лицо ответственное за администрирование БД называется “Администратор базы данных” (АБД) или “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.

Введение

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 Описание предметной области Предметной областью в задании является данные о неисправностях, владельцах автомобилей и работниках станции техобслуживания. Администратору базы данных «СТО» может понадобиться информация о неисправностях, владельцах, работниках, а также время ремонта неисправности и отчет о работе СТО. ...

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





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




Словарь (база данных) БАЗА ДАННЫХ (БД) однозначно идентифицируемый массив данных заданной структуры, размещаемый на машиночитаемых носителях. БАЗА ДАННЫХ совокупность организованных взаимосвязанных данных на машиночитаемых носителях. СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД) совокупность программ и языковых средств, предназначенных для управления данными в базе данных и обеспечения взаимодействия ее с прикладными программами.


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




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


Словарь (таблица) Реляционная БД - основной тип современных баз данных. Состоит из таблиц, между которыми могут существовать связи по ключевым значениям. Таблица базы данных (table) - регулярная структура, которая состоит из однотипных строк (записей, records), разбитых на столбцы (поля, fields). В теории реляционных баз данных синоним таблицы - отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом. В концептуальной модели реляционной БД аналогом таблицы является сущность (entity), с определенным набором свойств - атрибутов, способных принимать определенные значения (набор допустимых значений - домен).


Словарь (ключи) Ключевой элемент таблицы (ключ, regular key) - такое ее поле (простой ключ) или строковое выражение, образованное из значений нескольких полей (составной ключ), по которому можно определить значения других полей для одной или нескольких записей таблицы. На практике для использования ключей создаются индексы - служебная информация, содержащая упорядоченные сведения о ключевых значениях. В реляционной теории и концептуальной модели понятие "ключ" применяется для атрибутов отношения или сущности. Первичный ключ (primary key) - главный ключевой элемент, однозначно идентифицирующий строку в таблице. Могут также существовать альтернативный (candidate key) и уникальный (unique key) ключи, служащие также для идентификации строк в таблице. В реляционной теории первичный ключ - минимальный набор атрибутов, однозначно идентифицирующий кортеж в отношении. В концептуальной модели первичный ключ - минимальный набор атрибутов сущности, однозначно идентифицирующий экземпляр сущности.


Словарь (связи) Связь (relation) - функциональная зависимость между объектами. В реляционных базах данных между таблицами устанавливаются связи по ключам, один из которых в главной (parent, родительской) таблице - первичный, второй - внешний ключ - во внешней (child, дочерней) таблице, как правило, первичным не является и образует связь "один ко многим" (1:N). В случае первичного внешнего ключа связь между таблицами имеет тип "один к одному" (1:1). Информация о связях сохраняется в базе данных. Внешний ключ (foreign key) - ключевой элемент подчиненной (внешней, дочерней) таблицы, значение которого совпадает со значением первичного ключа главной (родительской) таблицы. Ссылочная целостность данных (referential integrity) - набор правил, обеспечивающих соответствие ключевых значений в связанных таблицах.


Словарь (объекты) Хранимые процедуры (stored procedures) - программные модули, сохраняемые в базе данных для выполнения определенных операций с информацией базы. Триггеры (triggers) - хранимые процедуры, обеспечивающие соблюдение условий ссылочной целостности данных в операциях изменения первичных ключей (возможно каскадное изменение данных), удалении записей в главной таблице (каскадное удаление в дочерних таблицах) и добавлении записей или изменении данных в дочерних таблицах. Объект (object) - элемент информационной системы, обладающий определенными свойствами (properties) и определенным образом реагирующий на внешние события (events). Система - совокупность взаимодействующих между собой и с внешним окружением объектов.


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


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












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


Классификация (по доступу) По способу доступа к данным базы данных разделяются на: базы данных с локальным доступом базы данных с сетевым доступом. Для всех современных баз данных можно организовать сетевой доступ с многопользовательским режимом работы.


Классификация (по архитектуре) Централизованные базы данных с сетевым доступом могут иметь следующую архитектуру: файл-сервер; клиент-сервер базы данных; "тонкий клиент" - сервер приложений - сервер базы данных (трехуровневая архитектура).


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


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


Трехзвенная схема Трехуровневая архитектура функционирует в Интранет- и Интернет-сетях. Клиентская часть ("тонкий клиент"), взаимодействующая с пользователем, представляет собой HTML- страницу в Web-браузере либо Windows- приложение, взаимодействующее с Web- сервисами. Вся программная логика вынесена на сервер приложений, который обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу баз данных. Сервер приложений может быть Web-сервером или специализированной программой




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


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


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


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


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


Дополнительные обязанности анализ данных; разработка БД (предварительная); моделирование и оптимизация БД; предоставление помощи разработчикам по SQL и хранимым процедурам; разработка производственных стандартов и соглашений по именам; документирование среды; консультирование разработчиков и конечных пользователей; проверка и тестирование новых программ; оценка приобретений нового программного и аппаратного обеспечения; планирование нагрузки системы и необходимого объема памяти.


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






Архивирование, сжатие и восстановление баз данных Перед сжатием сетевой базы данных, расположенной в общей папке или на сервере, убедитесь, что она не открыта другими пользователями. Выберите команду Сервис, Служебные программы, Сжать и восстановить базу данных (Tools, Database Utilities, Compact and Repair Database). Сжатие повышает производительность баз данных и проектов Access. Однако сжатие проекта не влияет на объекты, такие как представления и таблицы, хранящиеся в базе данных на SQL Server. Сжатие проекта не влияет также на таблицы, содержащие поле счетчика в проектах Access, как это происходит с базами данных. Если из базы данных, перед сжатием из таблицы, содержащей поле счетчика, были удалены последние записи, после сжатия номер первой пустой записи сбрасывается. Добавленная после этого запись получит в поле счетчика номер, на единицу превышающий значение счетчика в последней оставшейся записи.


Автоматическое сжатие баз данных Чтобы установить автоматическое сжатие базы данных Access 2002: Откройте базу данных, которую нужно сжать. Выберите команду Сервис, Параметры (Tools, Options). В появившемся диалоговом окне Параметры (Options) раскройте вкладку Общие (General). Установите флажок Сжимать при закрытии (Compact on Close) и нажмите кнопку ОК.


Защита информации с помощью средств шифрования Чтобы выполнить операцию шифрования или дешифрования: 1. Запустите MS Access, не открывая базу данных. 2. Выберите команду Сервис, Защита, Закодировать или раскодировать базу данных. 3. Появится диалоговое окно База данных для кодирования или декодирования. Укажите имя базы данных, которую требуется зашифровать или дешифровать, и нажмите кнопку ОК. 4. Если выбранная на предыдущем шаге база данных не является зашифрованной, появится диалоговое окно Кодирование базы данных под именем, иначе появится диалоговое окно Декодирование базы данных под именем. Укажите имя, диск и папку для конечной базы данных и нажмите кнопку Сохранить (Save).




Защита базы данных Access с помощью пароля Самый простой способ защиты базы данных с помощью пароля. Можно назначить пароль базе данных Access, который будет требоваться всякий раз при ее открытии. Чтобы установить пароль для защиты базы данных: Закройте базу данных. Если база данных совместно используется в сети, убедитесь, что остальные пользователи ее закрыли. Сделайте резервную копию базы данных и сохраните ее в надежном месте. В меню Access выберите команду Файл, Открыть (File, Open). Выделите файл базы данных. Щелкните по стрелке, расположенной справа от кнопки Открыть (Open). В раскрывающемся списке режимов открытия базы данных выделите элемент Монопольно (Open Exclusive). База данных откроется в режиме монопольного доступа. Выберите команду Сервис, Защита, Задать пароль базы данных (Tools, Security, Set Database Password). В появившемся диалоговом окне введите в поле Пароль (Password) пароль для защиты базы данных с учетом регистра символов. Введите пароль еще раз в поле Подтверждение (Verify). Нажмите кнопку ОК.


Администрирование баз данных Access, защищенных на уровне пользователей В задачу администрирования базы данных, защищенной на уровне пользователей, входит выполнение следующих действий: подключение файла рабочей группы для работы с защищенной базой данных; добавление нового пользователя в рабочую группу и задание для него прав доступа к объектам и прав на владение объектами базы данных (это осуществляется обычно включением его в состав определенных групп внутри рабочей группы); добавление новой группы пользователей в рабочую группу и задание для нее прав доступа к объектам базы данных; удаление учетной записи пользователя из файла рабочей группы; удаление учетной записи группы из файла рабочей группы; изменение пароля пользователя; восстановление испорченного файла рабочей группы из резервной копии или путем его воссоздания, используя специально сохраненную информацию об учетных записях пользователей и рабочих групп (включающую имена пользователей и групп и их персональные идентификаторы (PID)).


Использование файла рабочей группы Рабочей группой в Access называется группа пользователей сети, совместно использующих одну или несколько баз данных Access. Если база данных защищена на уровне пользователей, в файл рабочей группы записываются учетные записи пользователей и групп, входящих в рабочую группу. Пароли пользователей также хранятся в файле рабочей группы. Учетным записям в рабочей группе могут быть назначены права доступа к базе данных и ее объектам (таблицам, запросам, формам, отчетам и макросам). Права доступа сохраняются в защищенной базе данных. Создание и подключение файла рабочей группы производится с помощью служебной программы, которая входит в состав Microsoft Access 2002 и называется Администратор рабочих групп (Workgroup Administrator). Восстановление файла рабочей группы производится путем его воссоздания по сохраненной информации.






Источники дополнительных сведений ГОСТ "Информационная технология. Комплекс стандартов на автоматизированные системы. Термины и определения"; ГОСТ "Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем"; ГОСТ "Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания"; ГОСТ "Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы".

Введение………………………………………… ……………………………. 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 содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные. Мы рассмотрим более подробно языки ранних СУБД в следующей лекции.
и т.д.................