Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_КИТ2_заочн.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

23. Архитектура файл/сервер

При работе в архитектуре "файл/сервер" база данных и приложение для ее обработки расположены на файловом сервере сети. Многопользовательская работа с одной и той же базе данных возможна в том случае, когда каждый пользователь с рабочей станции (клиента) запускает приложение, расположенное на файловом сервере.

На рабочей станции запускается копия этого приложения, и по каждому запросу к базе данных таблицы полностью передаются по сети на рабочую станцию, независимо от того, сколько реально нужно данных для выполнения запроса. После этого выполняется запрос (Рис.24).

Код клиента

Клиент

Город

Улица

Телефон

АА

БелТур

Минск

Правды 11

2703995

АВ

Сименс

Мюнхен

Лейбница 8

6512345

АС

ПМК –23

Пуховичи

Широкая 1

21134

АD

Атлант

Минск

Захарова 20

2541134

Сервер

Передача таблиц по сети

Клиент

Код клиента

Клиент

Город

Улица

Телефон

АА

БелТур

Минск

Правды 11

2703995

АВ

Сименс

Мюнхен

Лейбница 8

6512345

АС

ПМК –23

Пуховичи

Широкая 1

21134

АD

Атлант

Минск

Захарова 20

2541134

Копия приложения

Запрос

Рис. 24. Обработка данных в архитектуре в архитектура файл / сервер

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

При этом изменения, которые каждый пользователь вносит в базу данных, могут быть до определенного момента неизвестны другим пользователям, что делает сложным систематическое обновления данных на рабочей станции из реальной базы данных. Важнейшей задачей является также блокирование записей, которые изменяются одним из пользователей, чтобы в это время другой пользователь не внес изменений в те же данные.

В архитектуре "файл/сервер" вся тяжесть выполнения запросов к базе данных и управления целостностью базы данных ложится на приложение пользователя. База данных на сервере в этом случае является пассивным источником данных. Секретность и конфиденциальность информации обеспечить также трудно.

В качестве приложений рабочих станций, как правило, используются вышеописанные настольные СУБД, такие как Dbase, Paradox, Microsoft Access 2000, FoxPro и другие.

Интернет- ссылки на наиболее популярные настольные СУБД представлены в таблице

СУБД

Производитель

Интернет- ссылка

dBase

dBase, Inc

http://www.dbase.com

Paradox

Corel

http://www.corel.co.uk/servlet

Microsoft Access

Microsoft

http://www.microsoft.com

Microsoft FoxPro

Microsoft

http://www.microsoft.com

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

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

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

К недостаткам архитектуры "файл/сервер" следует также отнести необходимость передачи по сети целиком всех таблиц, что, учитывая вышеописанные принципы передачи данных по сети, может привести к «заторам» трафика сети. Например, если в результате запроса необходимо получить всего 2 записи из таблицы объемом 10000 записей, то все 10000 записей будут скопированы с файл/сервера на рабочую станцию.

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

Недостатки архитектуры "файл-сервер" решаются при переводе приложений в архитектуру "клиент-сервер", которая знаменует собой следующий этап в развитии СУБД.