СПАСОИ (10) - Лекция №12 - Анализ и выбор архитектуры
Анализ и выбор архитектуры распределённой системы
При выборе архитектуры решаются следующие задачи:
- выбор модели доступа к данным;
- выбор общесистемного ПО - которое покупается, а не разрабатывается самостоятельно;
- выбор комплекса технических средств и топологии - рабочие станции, сервера, коммуникационное оборудование;
- анализ и выбор метода тиражирования данных - репликация.
Модели доступа к данным
В настоящее время используются следующие:
- модель файлового сервера;
- модель сервера БД;
- модель сервера приложений;
- модель доступа по технологии Интернет/Интранет;
- использование CORBA/DCOM.
Модель файлового сервера

Пользователь жмёт кнопку, запускается обработчик нажатия. Если есть SQL оператор, то он передаётся ядру СУБД. Оно его разбирает, обращается к файлам БД, выполняет его. Результаты возвращаются в программу, и результаты отображаются на экране.
СУБД этой модели:
- Borland dBase;
- CAI CA-Clipper;
- Microsoft FoxPro;
- Borland Paradox;
- Microsoft Access.
Преимущества:
- дешёвые;
- реализация системы не зависит от сетевой ОС.
Недостатки:
- часто перегружают каналы связи, так как передаются не только записи таблиц БД, но и промежуточные (индексы, данные сортировки). Файловый сервер выступает в качестве удалённого разделяемого диска;
- не поддерживает распределённую обработку - СУБД не выполняет оптимизацию SQL запроса;
- ядро СУБД дублируется на всех рабочих станциях, то есть нерационально используется оперативная память;
- блокировка и ведение транзакций осуществляется средствами ОС.
Модель сервера БД

Пользователь жмёт кнопку, запускается обработчик нажатия. Если есть SQL оператор, то он не выполняется на рабочей станции, а передаётся на сервер БД. Там он разбирается и выполняется. При этом доступ к файлам БД осуществляется через внутреннюю шину сервера. Результаты возвращаются в программу, и результаты отображаются на экране.
Можно разрабатывать прикладные программы, которые будут выполняться в СУБД: триггеры и хранимые процедуры.
Триггер - выполняется ядром СУБД и запускается до или после обновления записи. Тело триггера пишет прикладной программист, он определяет условия срабатывания триггера.
Хранимая процедура - выполняется ядром СУБД, пишется прикладным программистом. Может выполнять обращение к другим процедурам, а также вызываться из прикладных программ.
СУБД этой модели:
- Oracle;
- Microsoft SQL Server;
- SyBase;
- Informix;
- Centure (Gupta).
Преимущества:
- большая производительность, чем у файл-серверной модели;
- поддерживают распределённую обработку - есть оптимизация SQL запросов;
- существует большое число сервисных продуктов, облегчающий разработку и обслуживание.
Недостатки:
- СУБД намного дороже, чем СУБД из файл-серверной модели;
- сложны в освоении из-за обилия возможностей, требуется определённая квалификация администраторов;
- большая нагрузка на сервер, высокие требования к его производительности;
- для проявления преимуществ оптимизации SQL запросов в сети должно быть несколько серверов.
Модель сервера приложений

Пользователь жмёт кнопку, на сервере приложений запускается соответствующий сервис (например, A
). Если есть SQL оператор, то он передаётся на сервер БД. Там он разбирается и выполняется. При этом доступ к файлам БД осуществляется через внутреннюю шину сервера. Результаты сервиса возвращаются в рабочую станцию и там отображаются на экране.
СУБД этой модели:
- BEA Systems Tuxedo;
- IBM CICS.
Преимущества:
- возможность централизованного администрирования приложений;
- при увеличении нагрузки на сервис сервер приложений может автоматически запустить копию этого сервиса на другом сервере приложений;
- можно уменьшить число лицензий на СУБД.
Недостатки:
- затраты на разработку системы очень высоки. Сервера являются разделяемыми ресурсами, потому выполнение должно происходить очень быстро. Используются низкоуровневые языки программирования. Требуется много специалистов.
Модель доступа по технологии Интернет/Интранет
В рамках этой модели используются следующие варианты:
- доступ к данным из CGI и API программ;
- доступ к данным из Java-апплетов и управляющих элементов ActiveX.
продолжение...