Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_BD.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
1.37 Mб
Скачать

28.Клиент-сервер

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

Архитектура клиент-сервер обеспечивает преимущества сетевых вычислений с доступом к совместно используемым данным и высокие характеристики производительности, присущие централизованным вычислениям с большой ЭВМ.

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

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

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

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

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

Выделяют три вида моделей "клиент-сервер":

  • модель доступа к удаленным данным (Remote Data Access - RDA);

  • модель сервера базы данных (DataBase Server - DBS);

  • модель сервера приложений (Application Server - AS).

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

30. Распределенные базы данных

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

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

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

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

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

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

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

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

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

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

Для СУБД межоперабельность означает следующее:

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

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

Первое обеспечивается за счет шлюзов, второе - использованием интерфейса ODBC.

Преимущества и недостатки распределенных СУБД

(по сравнению с традиционными СУБД)

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

Недостатки

Отражение структуры организации

Повышение сложности

Разделяемость и локальная автономность

Увеличение стоимости

Повышение доступности данных

Проблемы защиты

Повышение надежности

Усложнение контроля за целостностью данных

Повышение производительности

Отсутствие стандартов

Экономические выгоды

Недостаток опыта

Модульность системы

Усложнение процедуры разработки базы данных

Преимущества СУРБД

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

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

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

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

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

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

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

Недостатки

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

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

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

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

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

Недостаток опыта – к настоящему времени еще не накоплен опыт промышленной эксплуатации распределенных систем, а это является серьезным сдерживающим фактором для многих потенциальных сторонников данной технологии.

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

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