СПАСОИ (10) - Лекция №12 - Анализ и выбор архитектуры

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана - студенческое сообщество
Перейти к: навигация, поиск

Анализ и выбор архитектуры распределённой системы

При выборе архитектуры решаются следующие задачи:

  • выбор модели доступа к данным;
  • выбор общесистемного ПО - которое покупается, а не разрабатывается самостоятельно;
  • выбор комплекса технических средств и топологии - рабочие станции, сервера, коммуникационное оборудование;
  • анализ и выбор метода тиражирования данных - репликация.

Модели доступа к данным

В настоящее время используются следующие:

  • модель файлового сервера;
  • модель сервера БД;
  • модель сервера приложений;
  • модель доступа по технологии Интернет/Интранет;
  • использование CORBA/DCOM.

Модель файлового сервера

10semSPASOIl12pic1.png

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

СУБД этой модели:

  • Borland dBase;
  • CAI CA-Clipper;
  • Microsoft FoxPro;
  • Borland Paradox;
  • Microsoft Access.

Преимущества:

  • дешёвые;
  • реализация системы не зависит от сетевой ОС.

Недостатки:

  • часто перегружают каналы связи, так как передаются не только записи таблиц БД, но и промежуточные (индексы, данные сортировки). Файловый сервер выступает в качестве удалённого разделяемого диска;
  • не поддерживает распределённую обработку - СУБД не выполняет оптимизацию SQL запроса;
  • ядро СУБД дублируется на всех рабочих станциях, то есть нерационально используется оперативная память;
  • блокировка и ведение транзакций осуществляется средствами ОС.

Модель сервера БД

10semSPASOIl12pic2.png

Пользователь жмёт кнопку, запускается обработчик нажатия. Если есть SQL оператор, то он не выполняется на рабочей станции, а передаётся на сервер БД. Там он разбирается и выполняется. При этом доступ к файлам БД осуществляется через внутреннюю шину сервера. Результаты возвращаются в программу, и результаты отображаются на экране.

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

Триггер - выполняется ядром СУБД и запускается до или после обновления записи. Тело триггера пишет прикладной программист, он определяет условия срабатывания триггера.

Хранимая процедура - выполняется ядром СУБД, пишется прикладным программистом. Может выполнять обращение к другим процедурам, а также вызываться из прикладных программ.

СУБД этой модели:

  • Oracle;
  • Microsoft SQL Server;
  • SyBase;
  • Informix;
  • Centure (Gupta).

Преимущества:

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

Недостатки:

  • СУБД намного дороже, чем СУБД из файл-серверной модели;
  • сложны в освоении из-за обилия возможностей, требуется определённая квалификация администраторов;
  • большая нагрузка на сервер, высокие требования к его производительности;
  • для проявления преимуществ оптимизации SQL запросов в сети должно быть несколько серверов.

Модель сервера приложений

10semSPASOIl12pic3.png

Пользователь жмёт кнопку, на сервере приложений запускается соответствующий сервис (например, A). Если есть SQL оператор, то он передаётся на сервер БД. Там он разбирается и выполняется. При этом доступ к файлам БД осуществляется через внутреннюю шину сервера. Результаты сервиса возвращаются в рабочую станцию и там отображаются на экране.

СУБД этой модели:

  • BEA Systems Tuxedo;
  • IBM CICS.

Преимущества:

  • возможность централизованного администрирования приложений;
  • при увеличении нагрузки на сервис сервер приложений может автоматически запустить копию этого сервиса на другом сервере приложений;
  • можно уменьшить число лицензий на СУБД.

Недостатки:

  • затраты на разработку системы очень высоки. Сервера являются разделяемыми ресурсами, потому выполнение должно происходить очень быстро. Используются низкоуровневые языки программирования. Требуется много специалистов.

Модель доступа по технологии Интернет/Интранет

В рамках этой модели используются следующие варианты:

  • доступ к данным из CGI и API программ;
  • доступ к данным из Java-апплетов и управляющих элементов ActiveX.

Arrow right.png

продолжение...