Понятие СУБД. Архитектура СУБД
Система управления базами данных (СУБД) – это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
В среде СУБД можно выделить следующих пять основных компонентов: аппаратное обеспечение, программное обеспечение, данные, процедуры и пользователи.
Аппаратное обеспечение. Для работы СУБД и приложений необходимо некоторое аппаратное обеспечение. Для работы СУБД обычно требуется некоторый минимум оперативной и дисковой памяти, но такой минимальной конфигурации может оказаться совершенно недостаточно для достижения приемлемой производительности системы.
Программное обеспечение. Этот компонент включает операционную систему, программное обеспечение самой СУБД, прикладные программы, включая и сетевое программное обеспечение, если СУБД используется в сети.
Данные – наиболее важный компонент с точки зрения конечных пользователей. База данных содержит как рабочие данные, так и метаданные, т.е. "данные о данных".
Процедуры, к которым относят инструкции и правила, которые должны учитываться при проектировании и использовании базы данных: регистрация в СУБД; использование отдельного инструмента СУБД или приложения; запуск и останов СУБД; создание резервных копий СУБД;
Пользователи: клиенты БД, администратор БД, прикладные программисты.
СУБД значительно различаются по характеристикам и функциям. Логически в них можно выделить три компоненты:
Подсистема средств проектирования представляет собой набор инструментов, упрощающих проектирование и реализацию баз данных и их приложений.
Подсистема обработки обеспечивает обработку компонентов приложений, созданных с помощью средств проектирования.
Третий компонент СУБД – ее ядро (DBMS Engine) выполняет функцию посредника между подсистемой средств проектирования и обработки и данными.
35 + 37 Функциональные возможности и производительность СУБД. + функции СУБД
К основным функциям СУБД относятся:
Ведение системного каталога, доступного конечным пользователям
Поддержка транзакций. транзакция представляет собой набор действий, выполняемых отдельным пользователем или прикладной программой с целью доступа или изменения содержимого базы данных.
Поддержка параллельной работы. СУБД должна иметь механизм, который гарантирует корректное обновление базы данных при параллельном выполнении операций обновления многими пользователями.
Восстановление базы данных после сбоев. СУБД должна предоставлять средства восстановления базы данных на случай какого-либо ее повреждения или разрушения. Подобный сбой может произойти в результате выхода из строя системы или запоминающего устройства, ошибки аппаратного или программного обеспечения.
Для восстановления БД нужно располагать некоторой дополнительной информацией. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений БД.
Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД.
Контроль доступа к данным. СУБД должна иметь механизм, гарантирующий возможность доступа к базе данных только санкционированных пользователей.
Поддержка обмена данными. СУБД в должны поддерживать работу в локальной сети, чтобы вместо нескольких разрозненных баз данных для каждого отдельного пользователя можно было бы установить одну централизованную базу данных и использовать ее как общий ресурс для всех существующих пользователей.
Поддержка целостности данных. Целостность базы данных означает корректность и непротиворечивость хранимых данных. Целостность обычно выражается в виде ограничений или правил сохранения непротиворечивости данных, которые не должны нарушаться в базе.
Поддержка независимости от данных. Независимость от данных обычно достигается за счет реализации механизма поддержки представлений или подсхем.
Производительность СУБД оценивается:
• временем выполнения запросов;
• скоростью поиска информации в неиндексированных полях;
• временем выполнения операций импортирования базы данных из других форматов;
• скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
• максимальным числом параллельных обращений к данным в многопользовательском режиме;
• временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
• СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
• производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.