Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sql.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
653.31 Кб
Скачать
  1. Клиент — сервер

  2. аналитические системы (ssas) business intellegants

  3. Распределенные системы

Архитектура клиент- сервер.

Архитектурой клиент — сервер называется программная архитектура, в которой один набор программных компонентов (клиенты) с помощью сообщений, просит другой набор программных компонентов (серверы) выполнить различные действия.

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

Особенности архитектуры:

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

  2. Клиентские и серверные процессы не обязательно должны работать на однотипных аппаратных средствах и даже под управление одинаковых ОС. Более того клиент и сервер не обязательно должны знать об аппаратных и программных средствах друг друга.

  3. Клиент не знает, что именованный сервис может передавать запрос клиента другому именованному сервису и т д.

  4. Возможность предоставления графического интерфейса пользователя без модернизации сервера.

  5. Возможность разделения функций между клиентами и серверами

В качестве основного интерфейса между клиентской и серверными частями информационных систем выступает язык SQL. А в качестве сервера — сервер баз данных.

Файловый сервер.

(файл — серверные приложения)

клиент 1 Персональное СУБД, средства сетевого доступа

клиент n Персональное СУБД, средства сетевого доступа

сервер — файл данных

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

Типисным примером являеться MS Access.

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

Достоинства:

  1. Красота организации.

  2. Средства разработки.

  3. Не требуется администрирование.

  4. Поддержка языка SQL.

  5. Наличие транзакционного управления.

  6. Возможность задания ограничений целостности и проверка их соблюдения.

Недостатки:

  1. Избыточная нагрузка на сеть. Как следствее эта архитектура подойдёт для небольших информационных систем, которые характеризуються небольшим числом клиентских компьютеров (десятки) и небольшим размером баз данных.

Клиент серверная архитектура.

Под клиент серверным приложением будем понимать инф систему, основанную на использовании сервера БД.

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

  1. Клиентская часть приложения взаимодействует с клиентской частью ПО управления БД, которая являеться индивидуальным предствителем СУБД для приложений.

Клиент:

Клиентская часть приложения

Клиентская часть сервера БД

Сетевой доступ

Сервер:

Сервер БД

Серверная часть приложения

19.09.2012

Общее представление информационной системы в архитектуре клиент-сервер характеризуеться:

  1. На стороне клиента выполняеться код приложения в который входят компоненты, поддерживающие интерфейс конечного пользователя, производящие отчёты и т. д.

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

  3. Интефейс между клиенской частью приложения клиентской частью сервера баз данных основан на языке SQL

  4. Клиентская часть сервера используя средства сетевого доступа обращаеться к серверу баз данных, передавая ему текст оператора языка SQL.

(SQL сервер может использовать помимо TCP/IP Named Pipes)

Запросы к серверу:

DDL

DML

Вызовы ХП

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

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

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

При выполнение операторов модификации содержимого БД проверяються ограничения целостности и могут срабатывать триггеры. Т.е. Выполняеться серверная часть приложения.

Также выполняеться при вызове ХП.

Вывод: таким образом клиент может быть тонким, а сервер должен быть толстым, что бы обрабатывать запросы всех клиентов.

Добавляем кеш на клиент и поддержку его. И не забываем про синхронизацию. Но это добавляет клиенту вес.

Для эфективной работы клиенсткой части ИС в действиетельности требуеться только небольшая часть общей БД это приводит к идее поддержки локального кэша на стороне каждого клиента для поддержки этого кеша програмное обеспечение рабочих станций должно содержать компонент управления базами данных — упрощённый вариант сервера баз данных. Отдельной проблемой являеться обеспечение согласованности кэшей и общей БД. Всё это приводит к что клиент ставноситься более толстым.

Выводы: файл сервеная ахритектура маштабируеться и позволяет распределять нагрузку между клиентом и сервером.

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

Существует несколько вариантов подключения к серверу SQL

  1. Использование библиотек доступа.

  2. Через протокол ODBC

  3. Укрупнение приложения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]