Обычно
современная СУБД содержит следующие компоненты
- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журналирование;
- процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;
- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;
- сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
По
типу управляемой базы данных СУБД разделяются на иерархические, реляционные,
объектно-реляционные, объектно-ориентированные, сетевые.
- локальные СУБД (все части локальной СУБД размещаются на одном компьютере);
- распределенные СУБД (части СУБД могут размещаться на двух и более компьютерах).
Классификация
СУБД по способу доступа к БД:
- файл-серверные;
- клиент-серверные;
- трехзвенные;
- встраиваемые.
Файл-серверные СУБД. Архитектура
"файл-сервер" не имеет сетевого разделения компонентов диалога и
использует компьютер для функции отображения, что облегчает построение
графического интерфейса. "Файл-сервер" только извлекает данные из
файлов, так что дополнительные пользователи добавляют лишь незначительную
нагрузку на центральный процессор, и каждый новый клиент добавляет
вычислительную мощность сети. Минус - высокая загрузка сети. На данный момент
файл-серверные СУБД считаются устаревшими. Примеры: Microsoft Access, MySQL (до
версии 5.0).
Клиент-серверные СУБД. Такие СУБД
состоят из клиентской части (которая входит в состав прикладной программы) и
сервера. Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают
разграничение доступа между пользователями и меньше загружают сеть и клиентские
машины. Сервер является внешней по отношению к клиенту программой, и по мере
надобности его можно заменить другим. Недостаток клиент-серверных СУБД - в
самом факте существования сервера (что плохо для локальных программ - в них
удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых
сервером. Примеры: Firebird, Interbase, MS SQL Server, Oracle, DB2, PostgreSQL,
MySQL (старше версии 5.0).
Существенным
недостатком клиент-серверной архитектуры является необходимость установления
прямого соединения между клиентским компьютером и базой данных. При трехзвенной
архитектуре пользовательское приложение (клиент) соединяется со специально
выделенным сервером приложений, и только он уже соединяется с базой данных.
Кроме повышения уровня безопасности трехзвенная архитектура позволяет более
гибко модернизировать приложения. Как правило, в массовой клиентской части
оставляют только минимальный набор функций по доступу и отображению информации,
а основную бизнес-логику реализуют в программах, запускаемых на серверах
приложений. При этом модернизация обычно затрагивает только сервер приложений,
а на массовых клиентских местах переустанавливать ПО не приходится.
Встраиваемая СУБД - это, как
правило, "библиотека", которая позволяет унифицированным образом
хранить большие объемы данных на локальной машине. Доступ к данным может
происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее
обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в
локальном ПО, которое имеет дело с большими объемами данных - например,
геоинформационные системы (Geographic Informational System - GIS). Примеры:
SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL.
Комментариев нет:
Отправить комментарий