Существующие архитектуры СУБД

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

СУБД с централизованной архитектурой (иерархические сети).

СУБД с архитектурой файл-сервер.

СУБД с архитектурой клиент-сервер.

СУБД с трехуровневой архитектурой: «тонкий клиент» — сервер приложений — сервер базы данных.

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

В СУБД с архитектурой файл-сервер база данных хранится на сервере, а копии СУБД устанавли­ваются на компьютерах пользователей. Файл базы данных, находящийся на сервере, совместно использует­ся всеми пользователями одновременно, при помощи сетевого программного обеспечения и самой опера­ционной системы. Ярким примером такой архитектуры является СУБД MS Access: копии СУБД установ­лены на компьютере каждого пользователя, а сам файл базы данных находится на сервере в сетевой папке. Архитектура файл-сервер позволяет добиться приемлемой производительности, т.к. в распоряжении каждой копии СУБД находятся все ресурсы компьютера пользователя. С другой стороны, производительность такой схемы для каждого пользователя, напрямую зависит от характеристик компьютера пользователя. Кроме того, такая схема работы значительно загружает сеть. Допустим, что пользователю необходимо отобрать  строки таблицы с товарами, по которым объем продаж не превышает 100 тыс. руб. Поскольку строки в таблице не упорядочены, то скорее всего по сети будут переданы все строки таблицы, из которых СУБД уже «на месте» (на компьютере пользователя) отберет нужные. Очевидно, что такая схема нерациональна при больших объемах обрабатываемой информации или большом числе пользователей базы данных. Поэтому, для таких БД целесообразнее применять архитектуру клиент-сервер.

При архитектуре клиент-сервер база данных хранится на сервере, а СУБД подразделяется на две части: клиентскую и серверную. Клиентская часть СУБД выполняется на стороне клиента и обеспечивает интерактивное взаимодействие с пользователем и формирование запросов к базе данных (на языке SQL). Серверная часть работает на сервере и взаимодействует с базой данных, обеспечивая выполнение запросов клиентской части. Т.е., если провести аналогию с рассмотренным выше примером, то клиентская часть сформирует и отправит серверной части запрос «Отбери для меня строки таблицы с товарами, по которым объем продаж не превышает 100 тыс. руб», серверная часть выполнит данный запрос и отошлет клиентской части только те строки, которые необходимо, не передавая по сети все строки таблицы. Большинство современных СУБД реализованы по архитектуре клиент-сервер: Oracle, MS SQL Server, PostgreSQL, MySQL, Informix, DB2 и др.

Однако и архитектура клиент-сервер не лишена недостатков. Если деловая логика взаимодействия с базой данных (логика, определяющаяся порядком работы предприятия: какие таблицы и в каком порядке заполнять, что делать при добавлении нового сотрудника и т.д.) изменяется, то приходится заново перепи­сывать клиентские программы (вводить новые формы, менять порядок их заполнения и т.д.). Если измене­ния происходят слишком часто, а количество рабочих мест велико, то постоянная переустановка програм­много обеспечения (которая, кстати, должна осуществляться достаточно быстро) становится серьезной проблемой. В таких случаях следует переходить к трехуровневой архитектуре: «тонкий клиент» — сервер приложений — сервер базы данных. При трехуровневой архитектуре в функции клиентской части («тонкий клиент») входит только интерактивное взаимодействие с пользователем, а вся деловая логика вынесена на сервер приложений, который собственно и обеспечивает формирование запросов к базе данных, передавае­мых на выполнение серверу базы данных. «Тонкий клиент» находится на компьютере пользователя и чаще всего представляет из себя Web-браузер (например, Internet Explorer) с применением в соответствующей HTML-странице апплетов Java или компонентов ActiveX. Сервер приложений находится на сервере и может являться специализированной программой (например, Oracle Forms Server) или обычным Web-сервером, вызывающим для обработки HTTP-запроса внешнюю программу через интерфейс CGI

Ссылка на основную публикацию
Adblock
detector