Вятский Государственный Университет конспект

Вид материалаКонспект

Содержание


Понятие распределенной базы данных.
Блокировка данных в многопользовательском режиме работы баз данных.
Архитектура клиент – сервер.
Основа архитектуры клиент-сервер.
Подобный материал:
1   ...   5   6   7   8   9   10   11   12   13

Понятие распределенной базы данных.



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

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

Основная задача распределенных баз данных – распределять данные по сети.


Существуют следующие способы решения этой задачи:
    1. В каждом узле хранится и используется собственный набор данных, доступный для удаленных запросов. Такое распределение называют распределенным.
    2. Некоторые данные, часто используемые на удаленных узлах, могут дублироваться. Такое распределение называют частично дублированными.
    3. Все данные дублируются в каждом узле. Такое распределение называют полностью дублированным.
    4. Некоторые файлы могут быть расщеплены горизонтально или вертикально. При этом выделенные подмножества хранятся в различных узлах вместе с нерасщепленными данными. Такое распределение называют расщепленным (фрагментированным).
    5. Выделенные подмножества могут дублироваться.



Блокировка данных в многопользовательском режиме работы баз данных.



В многопользовательской среде файлы могут открываться в одном из двух режимах:
  1. многопользовательском (эксклюзивном) – это когда к файлу может обращаться только один пользователь – первый открывший его;
  2. разделяемом - когда к файлу разрешается доступ нескольких пользователей. Этот режим предъявляет серьезные требования к обеспечению целостности базы данных.

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

Существует 2 типа блокировки:

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

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

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


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



Основной фактор целесообразности разработки системы для архитектуры клиент-сервер – это быстродействие. Применение средств быстрой разработки программ (RAD, VB. C++ и др) позволяют разработчикам создавать прикладные программы, для архитектуры клиент-сервер, в рекордно короткие сроки.

Технология серверов баз данных так же становиться проще в использовании и применении в сочетании со средствами RAD. Привлекательность графического интерфейса пользователя (ГИП) – еще один фактор, склоняющий пользователей к применению архитектуры клиент-сервер.

Клиент-сервер – это технология, предоставляющая больше самостоятельности пользователю, так как пакеты программ находятся на небольших, более доступных системах.


Основа архитектуры клиент-сервер.


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

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

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

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

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

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

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

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

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

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

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

Наиболее важная особенность ТР-монитора – его способность пропускать запросы к базам данных.

Трехзвенная система клиент-сервер с использованием монитора способна управлять запросами в базе данных более чем от 1000 пользователей с помощью наибольшего числа соединений с базой данных.