Основные функции СУБД.

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

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

3. Управление транзакциями. Транзакция — это по­следовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно вы­полняется, и СУБД фиксирует изменения БД, произве­денные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоя­нии БД. Понятие «транзакции» необходимо для поддер­жания логической целостности БД.

4. Журнализация. Одним из основных требований к СУБД является надежность хранения данных во внеш­ней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить послед­нее согласованное состояние БД после любого аппаратно­го или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мяг­кие сбои, которые можно трактовать как внезапную оста­новку работы компьютера (например, аварийное выключе­ние питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Поддержание надежности хранения баз данных в БД требует избыточ­ности хранения данных, причем та часть данных, кото­рая используется для восстановления, должна храниться особо надежно. Наиболее распространенным методом под­держания такой избыточной информации является веде­ние журнала изменений БД. Журнал изменений — это особая часть БД, недоступная пользователям СУБД и под­держиваемая с особой тщательностью (иногда поддержи­ваются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД. Во всех случаях придер­живаются стратегии «упреждающей» записи в журнал (так называемого протокола Write Ahead Log — WAL). Самая простая ситуация восстановления — индивидуаль­ный откат транзакции.

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

Логически в современной реляционной СУБД можно выделить внутреннюю часть — ядро СУБД (часто его на­зывают Data Base Engine), компилятор языка БД (обыч­но SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделя­ются явно, в других — нет, но логически такое разделе­ние можно провести во всех СУБД.

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

Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполня­емую программу.

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

 








Дата добавления: 2014-11-29; просмотров: 841;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.