1.2 Понятие архитектуры клиент-сервер.

1.2 Понятие архитектуры клиент-сервер.

В подавляющем большинстве случаев локальная сеть используется для коллективного доступа к базам данных.

Существует два подхода к организации коллективного доступа данным.

Первый подход заключается в том , что файлы данных располагают на дисках файл сервера и все рабочие станции получают к нему доступ. Этот подход носит название архитектура "файл-сервер". Если файлы данных расположены на сервере ( в данном случае сервер называется "файл-сервер" ) , с ними одновременно работают несколько программ , запущенных на рабочих станциях. При этом программы должны сами следить за тем , чтобы изменяемые записи базы данных блокировались для записи и чтения со стороны других программ во время изменений. Данный метод имеет существенный недостаток: файл-сервер не обеспечивает достаточную производительность при большом количестве рабочих станций.

Второй подход носит название архитектура "клиент-сервер".

Определения:

Клиент - Рабочая станция для одного пользователя, обеспечивающая режим регистрации и др. необходимые на его рабочем месте функции вычисления, коммуникацию, доступ к базам данных и др.

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

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

СУБД с персональных ЭВМ ( такие, как Clipper, DBase, FoxPro, Paradox, Clarion имеют сетевые версии, которые просто совместно используют файлы баз данных тех же форматов для ПК, осуществляя при этом сетевые блокировки для разграничения доступа к таблицам и записям. При этом вся работа осуществляется на ПК. Сервер используется просто как общий удаленный диск большой емкости. Такой способ работы приводит к риску потери данных при аппаратных сбоях.

По сравнению с такими системами системы , построенные в архитектуре Клиент - Сервер, имеют следующие преимущества:

1. позволяют увеличить размер и сложность программ, выполняемых на рабочей станции;

2. обеспечивает перенесение наиболее трудоемких операций на сервер, являющийся машиной большей вычислительной мощности;

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

4. в несколько раз уменьшает объем информации, передаваемый по сети.