Распределенная обработка данных
Клиент Сервер приложений Сервер БД
Данные SQL
Процедур
Запуск
Рисунок 7.4 Модель сервера приложений
По мере роста БД, использование их в территориально разнесенных организациях приводит к тому, что централизованная СУБД плохо справляется с ростом числа обрабатываемых транзакций. Это приводит к снижению общей надежности и производительности системы при обработке запросов пользователей.
В качестве возможного решения этих проблем предполагается децентрализация данных.
Децентрализация процессов обработки данных в ИС позволяет повысить общую производительность системы вследствие распределения нагрузки по нескольким узлам обработки (хотя и за счет снижения требований к целостности, непротиворечивости, безопасности данных).
Распределенная обработка данных позволяет разместить базу данных (или несколько баз) в различных узлах компьютерной сети. Таким образом, каждый компонент базы данных располагается по месту наличия техники и ее обработки. Например, при организации сети филиалов какой-либо организационной структуры удобно обрабатывать данные в месте расположения филиала. Распределение данных осуществляется по разным компьютерам в условиях реализации вертикальных и горизонтальных связей для организаций со сложной структурой.
В одной и той же системе одни данные могут быть централизованными, другие - децентрализованными. Основная задача при проектировании распределенной БД - распределение данных по сети. Способы решения этой задачи:
· в каждом узле сети хранится и используется собственная БД, однако хранимые в ней данные доступны для других узлов сети;
· все данные распределенной БД полностью дублируются в каждом узле сети;
· хранимые в центральном узле данные, частично дублируются в тех периферийных узлах, в которых они используются.
Под распределенной БД (Distributed DataBase - DDB) обычно подразумевают базу данных, включающую фрагменты из нескольких баз данных, которые располагаются на различных узлах сети компьютеров, и, возможно управляются различными СУБД. Распределенная база данных выглядит с точки зрения пользователей и прикладных программ как обычная локальная база данных. В этом смысле слово «распределенная» отражает способ организации базы данных, но не внешнюю ее характеристику («распределенность» базы данных невидима извне). Примерами СУБД, обеспечивающих распределенную обработку данных являются: R-Star, Distributed Ingres, Oracle 7, Ingres/Star, CA-OpenIngres, Sybase, Informix-OnLine Dynamic Server.
Распределенная БД предполагает хранение и выполнение функций управления данными в нескольких узлах и передачу данных между этими узлами в процессе выполнения запросов.
При построении систем распределенных обработки данных применяются две технологии:
1. Технология распределенной БД (Технология STAR), при которой фрагменты данных расположены на разных узлах сети. Все изменения должны синхронно передаваться во все узлы. Такая схема предъявляет жесткие требования к производительности и надежности каналов связи.
2. Технология тиражирования, при которой в каждом узле дублируются данные всех других узлов, а передаются только операции изменения данных, а не сами данные как в технологии STAR. Передача может быть асинхронной (неодновременной для разных узлов).