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

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

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

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

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

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

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

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

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

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

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

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

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