Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Основные функции систем управления базами данных
1. Управление данными во внешней памяти Функция управления данными во внешней памяти включает в себя обеспечение необходимых структур внешней памяти, как для хранения непосредственных данных, так и для служебных целей, например для убыстрения доступа к данным в некоторых случаях (обычно используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, однако пользователи не должны знать, использует ли СУБД файловую структуру или нет. Существует множество способов организации внешней памяти баз данных. Как и все решения, принимаемые при создании баз данных, конкретные методы организации внешней памяти необходимо выбирать вместе со всеми остальными решениями. 2. Управление буферами оперативной памяти СУБД обычно работают с базами данных значительных размеров; по крайней мере этот размер превышает доступный объем оперативной памяти. Понятно, что если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью внешней памяти. Единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. И даже если операционная система производит общесистемную буферизацию, этого недостаточно для целей СУБД, которая располагает гораздо большей информацией о полезности буферизации той или иной части базы данных. В развитых СУБД поддерживается свой набор буферов оперативной памяти с собственной дисциплиной замены буферов. При управлении буферами необходимо разрабатывать и применять согласованные алгоритмы буферизации, журнализации и синхронизации. Заметим, что существует собственное направление СУБД, которое ориентировано на постоянное присутствие всей БД в ОП. Это направление основывается на предположении, что в предвидимом будущем объем оперативной памяти может быть настолько велик, что позволит не беспокоиться о буферизации. 3. Управление транзакциями Транзакция – это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется и СУБД фиксирует изменения БД, произведенные ею во внешней памяти, либо ни одно из этих изменений никак не отражается в состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД (например, необходимость объединения элементарных операций над файлами). Поддержание механизма транзакций – необходимое условие даже однопользовательских СУБД. Но понятие транзакции гораздо важнее в многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем механизме управления транзакциями пользователь может почувствовать себя единственным пользователем СУБД. 4. Журнализация и восстановление БД после сбоев Одно из основных требований к СУБД – надежное хранение данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после аппаратного или программного сбоя. Поддержание надежного хранения данных в базе данных требует избыточности хранения данных, причем та их часть, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточности – это ведение журнала изменений базы данных. Во всех случаях придерживаются «упреждающей» записи в журнал (так называемый протокол Write Ahead Log). Эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем она попадет во внешнюю память основной части БД. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя. 5. Поддержание языков БД Для работы с БД используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, обеспечивающий базовый пользовательский интерфейс с базами данных.
|