Система управления базами данных

Систе́ма управле́ния ба́зами да́нных, сокр. СУБД (, сокр. DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных (БД).

СУБД — комплекс программ, позволяющих создать базу данных и манипулировать данными (вставлять, обновлять, удалять и выбирать). Система обеспечивает безопасность, надёжность хранения и целостность данных, а также предоставляет средства для администрирования БД.

Основные функции СУБД 
 управление данными во внешней памяти (на дисках);
 управление данными в оперативной памяти с использованием дискового кэша;
 журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
 поддержка языков БД (язык определения данных, язык манипулирования данными).

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

Классификации СУБД 
 По модели данных
Примеры:
 Иерархические
 Сетевые
 Реляционные
 Объектно-ориентированные
 Объектно-реляционные

 По степени распределённости
 Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
 Распределённые СУБД (части СУБД могут размещаться не только на одном, но на двух и более компьютерах).

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

 Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера.

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

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

 Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

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

 Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу.

 Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик, как высокая надёжность, высокая доступность и высокая безопасность.

 Примеры: Oracle Database, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

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

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

 Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

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

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

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

См. также 
 Архитектура ANSI — SPARC
 Информационная система

Примечания

Литература

Ссылки 

 Database of Databases — онлайн-энциклопедия СУБД, составляемая группой баз данных Университета Карнеги — Меллона (руководитель — Энди Павло)
 Список всех коммерческих СУБД, доступных в США на 1987 год // Computerworld, 10 августа 1987
 Рейтинг «популярности» СУБД, согласно ресурсу DB-Engines, основан, в основном, на частоте упоминаний СУБД и не учитывает количество установок и реальное использование в информационных системах (см. описание метода ранжирования)