Информационные системы, построенные на базе компьютерных сетей, обеспечивают решение следующих задач: хранение данных, обработка данных, организация доступа пользователей к данным, передача данных и результатов обработки данных пользователям. Потребность в данных коллективного пользования в последнее время все более возрастает. Это и послужило причиной усиливающегося внимания к различным системам распределенной обработки данных.
Существует несколько понятий в этой области, которые необходимо определить более точно. Вначале выделим эти понятия:
- распределенная обработка данных;
- базы данных с сетевым доступом;
- архитектура «клиент-сервер»;
- распределенные базы данных.
Под распределенной обработкой данных понимают обработку приложений несколькими территориально распределенными компьютерами.
Технология распределенной обработки данных базируется на двух концепциях. Первая концепция носит название «файл-сервер», а вторая — «клиент сервер».
Сервер — это машина, обеспечивающая функционирование той части сетевой версии СУБД, которая осуществляет управление данными в терминах базы данных и называется сервером файлов или файл-сервером (File Server).
Клиент — задача, рабочая станция или пользователь компьютерной сети. В процессе обработки данных клиент может сформировать запрос на сервер для выполнения сложных процедур, чтение файла, поиск информации в базе данных и т. д.
Предполагается, что центральная машина (сервер) обладает жестким диском достаточно большой емкости, на котором хранится совместно используемая централизованная база данных. Все другие машины сети выполняют функции рабочих станций (клиентов), с помощью которых поддерживается доступ пользователей системы к централизованной базе данных. В соответствии с пользовательскими запросами файлы базы данных передаются на рабочие станции, где в основном и производится их обработка. Рабочая станция должна иметь достаточно ресурсов для обеспечения приемлемого уровня реактивности при обработке пользовательских запросов.
Первая концепция распределенной обработки данных реализуется следующим образом. В сети имеется главный компьютер, который называется файловым сервером. Сервер предоставляет в совместное пользование информационные (файлы, базы данных) и аппаратные ресурсы (принтеры, модемы). Сетевая операционная система, обеспечивающая взаимодействие пользователей с сервером состоит из двух частей: одна (основная) часть находится на файловом сервере, а вторая (оболочка) устанавливается на компьютерах сети (рабочих станциях). Оболочка обеспечивает взаимодействие (является интерфейсом) между программами рабочей станции и сервера. Файловый сервер в рамках такой архитектуры используется только как хранилище данных, а их обработка осуществляется на компьютере пользователя (рабочей станции).
В рамках концепции «клиент-сервер» сервер используется не только как хранилище программ и данных, но и как вычислительная среда. Программное обеспечение в рассматриваемой модели состоит из двух взаимосвязанных программ: «файл-сервера» и программы клиента-пользователя. Программа-клиент формирует запрос и посылает его файл-серверу (программе), установленной на компьютере с общим доступом. Обработка данных и осуществляется на мощном компьютере общего пользования, а на компьютере-клиенте с помощью соответствующего протокола отображаются результаты выполненного запроса. При этом постарайтесь не запутаться в терминах: «сервером» называют как компьютер, так и программное обеспечение.
Системы баз данных, построенные с помощью сетевых версий, иногда неправомерно называют распределенными базами данных, в то время как они фактически являются лишь распределенным (сетевым) доступом к централизованной базе данных. Такие системы создаются на основе оборудования и программного обеспечения различных типов локальных вычислительных сетей.