В типовой структуре реляционной СУБД логически можно выделить

· ядро СУБД;

· компилятор языка БД;

· подсистему поддержки времени выполнения;

· набор утилит.

 

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

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

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

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

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

Утилиты программируются с использованием интерфейса ядра СУБД.

 

Производительность СУБД оценивается:

· временем выполнения запросов;

· скоростью поиска информации в неиндексированных полях;

· временем выполнения операций импортирования базы данных из других форматов;

· скоростью создания индексов и выполнения операций обновление, добавления и, удаление данных;

· максимальным числом параллельных обращений к данным в многопользовательском режиме;

· временем генерации отчета.

 

Устно.