Распределенные информационные системы. Телематические службы и услуги. Качество предоставляемых телематических услуг и требования к ним. Основные понятия теории информационных систем и сетей

ВВЕДЕНИЕ 4

1.ПОНЯТИЕ РАСПРЕДЕЛЕННЫХ ИС 6

1.1. Предпосылки создания распределенных ИС 6

1.2. Понятие распределенных информационных систем 8

1.3. Средства работы с распределенными данными 11

2. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ 13

2.1. Основные принципы 13

2.2 Типы распределенных БД 15

2.3. Назначение и принцип работы распределенной БД 16

3. ПРИМЕРЫ РАСПРЕДЕЛЕННЫХ СИСТЕМ 21

ЗАКЛЮЧЕНИЕ 25

ЛИТЕРАТУРА 26


ВВЕДЕНИЕ

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

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

В данной работе рассмотрены основные сведения о распределенной информационной системе: описаны предпосылки ее развития, средства работы с данными, введено понятие распределенной базы данных, а также ее типов и основных принципов. В третьей главе представлены примеры распределенных информационных систем, такие как: - Informix On-Line фирмы Informix Software;- Ingres Intelligent Database фирмы Ingres Corp;- Oracle (version 7) фирмы Oracle Corp;- Sybase System 10 фирмы Sybase Inc.

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

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


1.ПОНЯТИЕ РАСПРЕДЕЛЕННЫХ ИС

1.1. Предпосылки создания распределенных ИС

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

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

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

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

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

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


1.2. Понятие распределенных информационных систем

Обычно, распределенной считают такую систему, в которой функционирует более одного сервера БД. Это применяется для уменьшения нагрузки на сервер и обеспечения работы территориально удаленных подразделений. Различная сложность создания, модификации, сопровождения, интеграции с другими системами позволяют разделить ИС на классы малых, средних и крупных распределенных систем. Малые ИС имеют небольшой жизненный цикл (ЖЦ), ориентацию на массовое использование, невысокую цену, невозможность модификации без участия разработчиков, использующие в основном настольные системы управления базами данных (СУБД) , однородное аппаратно-программное обеспечение, не имеющие средств обеспечения безопасности. Крупные корпоративные ИС, системы федерального уровня и другие имеют длительный жизненный цикл, миграцию унаследованных систем, разнообразие аппаратно-программного обеспечения, масштабность и сложность решаемых задач, пересечение множества предметных областей, аналитическую обработку данных, территориальную распределенность компонент .

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

Данные из разнородных систем обычно объединяются в логические группы, к которой и адресуются запросы. Абстрактная система запросов предполагает, что система оперирует не конкретным синтаксисом запросов, а его логической сутью на основе абстрактных атрибутов.
При построении распределенных ИС, как правило, используются две базовые архитектуры: Клиент/сервер и Internet Intranet.
Корпоративные ИС, построенные по архитектуре Клиент/сервер, предоставляют клиентам широкий спектр приложений и инструментов разработки, которые ориентированы на максимальное использование вычислительных возможностей клиентских рабочих мест. Ресурсы сервера используются в основном для хранения и обмена документами, а также для выхода во внешнюю среду. Данная архитектура позволяет лучше защитить серверную часть приложений, при этом, предоставляя возможность приложениям либо непосредственно адресоваться к другим серверным приложениям, либо маршрутизировать запросы к ним. Однако, частые обращения клиента к серверу снижают производительность работы сети. Приходится решать вопросы безопасной работы в сети, так как приложения и данные распределены между различными клиентами. Распределенный характер построения системы обусловливает сложность ее настройки и сопровождения

В основе ИС на базе Internet Intranet лежит принцип "открытой архитектуры". ПО ИС реализуется в виде аплетов или сервлетов (программ на языке JAVA) или в виде cgi модулей (программ на Perl или С). ИС данной архитектуры включает Web-yinh\, реализованные при помощи технологий CORBA Enterprise JavaBeans, ActiveX 1X"ОМ, многоуровневые приложения на основе Java и XML, .Net-концепция с XML, в которой обмен между различными серверами (хранилищами данных, бизнес-приложениями, серверами для мобильных клиентов и другое) производится при помощи нейтрального к любой архитектуре XML.

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

Функционирующих по единым правилам, определенным централизованно для всех баз данных, входящих в распределенную информационную базу;

Обмен данными осуществляется по правилам, также определенным централизованно.

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

Необходимость ограничения и осуществления контроля изменения данных в дистанционно отдаленных подразделениях компании (филиалах) .


1.3. Средства работы с распределенными данными

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

1) Фрагментация и дублирование

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

2) Словари данных и директории

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

3) Двухфазная фиксация изменений

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

4) Обеспечение целостности

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

Таблица, содержащая информацию о детях сотрудников;

Таблица, содержащая информацию о зарплатах сотрудников за год;

Таблица, содержащая информацию о темах, выполненных сотрудником.

Все эти таблицы содержат столбец "ФИО сотрудника". Правила обеспечения ссылочной целостности требуют, чтобы при изменении значений столбца "ФИО сотрудника" в одной таблице, автоматически выполнялась корректировка значений этого столбца в других таблицах. Для обеспечения ссылочной целостности используются 2 различных метода - триггеры и декларативные ограничения целостности стандарта ANSI .


2. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ

2.1. Основные принципы

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

РБД состоит из набора узлов, связанных коммуникационной сетью, в которой:

а)каждый узел - это полноценная СУБД сама по себе;

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

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

Фундаментальный принцип создания распределённых баз данных («правило 0»): Для пользователя распределённая система должна выглядеть так же, как нераспределённая система.

Фундаментальный принцип имеет следствием определённые дополнительные правила или цели. Таких целей всего двенадцать:

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

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

3.Непрерывное функционирование. Распределённые системы должны предоставлять более высокую степень надёжности и доступности.

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

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

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

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

8.Управление распределёнными транзакциями. Существует 2 главных аспекта управления транзакциями: управление восстановлением и управление параллельностью обработки. Что касается управления восстановлением, то чтобы обеспечить атомарность транзакции в распределённой среде, система должна гарантировать, что все множество относящихся к данной транзакции агентов (агент - процесс, который выполняется для данной транзакции на отдельном узле) или зафиксировало свои результаты, или выполнило откат. Что касается управления параллельностью, то оно в большинстве распределённых систем базируется на механизме блокирования, точно так, как и в нераспределённых системах.

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

10.Независимость от операционной системы. Возможность функционирования СУБД под различными операционными системами.

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

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


2.2. Типы распределенных БД

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

Помимо вышеназванных типов распределенных баз данных можно выделить следующие:

1) Распределённые Базы Данных

2) Мультибазы данных с глобальной схемой. Система Мультибаз данных - это распределённая система, которая служит внешним интерфейсом для доступа ко множеству локальных СУБД или структурируется, как глобальный уровень над локальными СУБД.

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

4) Мультибазы с общим языком доступа - распределённые среды управления с технологией "клиент-сервер"

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


2.3. Назначение и принцип работы распределенной БД

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

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

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

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

Рис.2.1. Принцип работы БД

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

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

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

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

Теперь рассмотрим, каким образом осуществляется обмен данными между узлами УРБД. При внесении изменений в данные информационной базы программа запоминает, что было изменено и каким образом. Для любого узла раз в определенный промежуток времени запускается обработка (вручную либо автоматически), которая формирует специальные сообщения, в каких в формате XML отображена информация о том, были ли изменения (если были, то какие), и отправляет их в определенные каталоги по локальной сети либо по FTP, или же на определенные адреса электронной почты. Также обработка проверяет, появились ли в этом каталоге либо электронном ящике аналогичные сообщения от других узлов, связанных напрямую с этим узлом, адресованные ему. Если появились, то загрузит сообщения, а следовательно и изменения в данных. Инфраструктура сообщений поддерживает нумерацию сообщений, и позволяет получать подтверждения от узла-получателя о приеме сообщений. Такое подтверждение содержится в каждом сообщении, приходящем от узла-получателя в виде номера последнего принятого сообщения.

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

При изменении конфигурации базы информация об изменениях распространяется в сообщениях обмена вместе с изменениями данных.

Обмен данными между базами производится следующим образом:

1)В базе-источнике система определяет список изменённых объектов за время, прошедшее с предыдущего сеанса выгрузки данных.

2)По данному списку система формирует XML-пакет, который передается в базу-приемник.

Для того чтобы сформировать пакет система обращается к измененным объектам базы данных. При обращении система блокирует данные объекты.

3) XML-пакет передается в базу-приемник.

В базе-приемнике XML-пакет разворачивается и изменения, содержащиеся в нем, вносятся в базу.

Все изменения записываются в рамках одной транзакции, при этом все измененные объекты блокируются.


3. ПРИМЕРЫ РАСПРЕДЕЛЕННЫХ СИСТЕМ

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

Среди многочисленных прототипов и научно-исследовательских систем следует упомянуть систему SDD-1 , созданную в конце 70-х -- начале 80-х годов в научно-исследовательском отделении фирмы Computer Corporation of America; систему R* , которая является распределенной версией системы System R и создана в начале 80-х годов фирмой IBM; а также систему Distributed INGRES , которая является распределенной версией системы INGRES и создана также в начале 80-х годов в Калифорнийском университете в Беркли.

Что касается коммерческих продуктов, то в настоящее время в большинстве реляционных систем предусмотрены разные виды поддержки использования распределенных баз данных с разной степенью функциональности. Среди таких систем наиболее известны система INGRES/STAR отделения Ingres Division фирмы The ASK Group Inc., система ORACLE фирмы Oracle Corporation, а также модуль распределенной работы системы DB2 фирмы IBM.

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

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

Informix On-Line фирмы Informix Software;

Ingres Intelligent Database фирмы Ingres Corp;

Oracle (version 7) фирмы Oracle Corp;

Sybase System 10 фирмы Sybase Inc.

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

Наиболее полно функции распределенной СУБД реализованы в СУБД Ingres и Oracle. Коротко рассмотрим возможности этих пакетов.

СУБД Ingres работает на множестве UNIX-платформ, на платформах DEC VMS, Hewlett-Packard MPE, DOS, Microsoft Windows 3.1, OS/2, Macintosh. Она также работает со многими сетевыми протоколами, включая Open System Interconnection Transport Class 4. Ingres имеет средства для доступа к данным СУБД DB2, Rdb, Allbase. Основные функции распределенной СУБД обеспечиваются дополнительной компонентой Ingres/Star. Она поддерживает оптимизацию распределенных запросов, позволяет читать и обновлять в рамках одной транзакции данные разных узлов, обеспечивает возможность удалять записи одновременно в нескольких узлах.

СУБД Informix-Online разработана для среды UNIX, но может также работать под Novell. Informix-Online имеет оптимизатор запросов и реализует те же функции работы с распределенной БД, что и Ingres, однако у Informix более жесткие требования к ресурсам компьютера, в частности ему требуется больше оперативной памяти.

СУБД System 10 фирмы Sybase в настоящее время находится в состоянии разработки. Она должна работать на UNIX-платформах, на платформах OS/2, Window NT, NetWare. System 10 будет работать с несколькими сетевыми протоколами и поддерживать связь с СУБД DB2, Oracle 7, Informix-Online, Rdb. System 10 будет иметь оптимизатор распределенных запросов, она позволит читать и обновлять данные нескольких узлов. Функции работы с распределенной БД будут реализованы с помощью дополнительной компоненты Replication Server.

В 7 версии СУБД Oracle реализовано множество функций для работы с распределенной БД. Среди них следует выделить оптимизатор распределенных запросов и средство чтения и обновления данных нескольких узлов в рамках одной транзакции. Oracle v 7 работает на более чем 80 вычислительных платформах, поддерживает большинство существующих коммерческих сетевых протоколов и может обмениваться данными с СУБД DB2, SQL/DS, Tandem Computers, NonStop SQL, Rdb, HP TurboImage. Разрабатываются шлюзы еще к 18 СУБД.

В Oracle словарь данных хранится также, как остальные данные, поэтому его таблицы могут быть распределены по узлам сети. Все операции с распределенной БД "прозрачны" для пользователей и разработчиков. В области обновления распределенной БД Oracle обогнал всех своих конкурентов. Пользователи Oracle могут с помощью компоненты SQL*Net "прозрачно" работать с данными (не обязательно данными Oracle), размещающимися на различных типах компьютеров и в различных узлах сети. Высокопроизводительное средство "прозрачного" обновления распределенной БД реализовано на основе оригинально выполненного двухфазного протокола фиксации изменений.

Все 4 рассмотренные СУБД поддерживают локальную автономию узлов. Это означает, что администратор БД может рассматривать локальную БД конкретного узла как самостоятельную БД. Все СУБД поддерживают ANSI стандарт языка SQL - ANSI SQL-89 и расширение этого стандарта. Запросы к БД формулируются на языке SQL. Дополнительно к непроцедурному языку SQL Oracle поддерживает свой собственный процедурный язык PL/SQL, а Sybase поддерживает свой язык Transact-SQL.

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

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

Все фирмы-разработчики распределенных СУБД намерены в будущем поддерживать архитектуру распределенной базы данных фирмы IBM (Distributed Relational Database Architecture). Правда хотя IBM уже давно объявила о начале работ по реализации этой архитектуры, она до сих пор не закончена. Это очевидно связано с очень высокой сложностью реализации объявленной архитектуры.


ЗАКЛЮЧЕНИЕ

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

Необходимость оперативного получения информации из баз данных дистанционно отдаленных подразделений (или филиалов);

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

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

Необходимость ограничения и осуществления контроля изменения данных в дистанционно отдаленных подразделениях компании (филиалах).

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

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


ЛИТЕРАТУРА

1. Как организовать распределенную информационную базу?

http://www.intelis-it.ru/services/automation_act/information-systems.html

2. Распределенные базы данных. Википедия.

http://ru.wikipedia.org/wiki/распереленные_бд

3. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – 2-е изд. – М.: Финансы и статистика, 1989. – 350 с.

4. Дейт К. Дж. Введение в системы баз данных.: Пер. с англ. – 6-е изд. – Киев: Диалектика, 1998. – 784 с.

5. Распределенные информационные системы и базы данных. Глеб Ладыженский

http://articles.org.ru/cfaq/index.php?qid=1306&catid=54

6. . Глобально распределенные информационные системы

http://www.ci.ru/inform4_97/astr1.htm

7. Проектирование структуры распределенной базы данных.

http://www.integro.ru/projects/gis/quest_1.htm

8. Коннолли, Т., Бегг, К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание.: Пер. с англ. - М.: Издательский дом «Вильяме», 2003. – 433 с.

http://www.lcard.ru/~nail/database/osbd/glava_~3.htm

10. Технологии распределенных баз данных

http://rema.44.ru//resurs/study/dblab/dblab.html.


    1. Распределенная ИС

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

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

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

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

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

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

Впервые задача об исследовании основ и принципов создания и функционирования распределенных информационных систем была поставлена известным специалистом в области баз данных К. Дейтом в рамках уже не раз упоминавшегося (где он уже упоминался? ) проекта System R, что в конце 70-х - начале 80-х годов вылилось в отдельный проект создания первой распределенной системы (проект System R*). Большую роль в исследовании принципов создания и функционирования распределенных баз данных внесли также и разработчики системы Ingres.

Собственно в основе распределенных АИС лежат две основные идеи:

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

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

Крис Дейт сформулировал также основные принципы создания и функционирования распределенных баз данных. К их числу относятся:

Прозрачность расположения данных для пользователя(иначе говоря, для пользователя распределенная база данных должна представляться и выглядеть точно так же, как и нераспределенная);

Изолированность пользователей друг от друга (пользователь должен «не чувствовать», «не видеть» работу других пользователей в тот момент, когда он изменяет, обновляет, удаляет данные);

Синхронизация и согласованность (непротиворечивость) состояния данных в любой момент времени.

Из основных вытекает ряд дополнительных принципов:

Локальная автономия (ни одна вычислительная установка для своего успешного функционирования не должна зависеть от любой другой установки);

Отсутствие центральной установки (следствие предыдущего пункта);

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

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

Независимость от фрагментации данных (как от горизонтальной фрагментации, когда различные группы записей одной таблицы размещены на различных установках или в различных локальных базах, так и от вертикальной фрагментации, когда различные поля-столбцы одной таблицы размещены на разных установках);

Независимость от реплицирования (дублирования) данных (когда какая-либо таблица базы данных, или ее часть физически может быть представлена несколькими копиями, расположенными на различных установках, причем «прозрачно» для пользователя);

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

Распределенное управление транзакциями (в распределенной системе отдельная транзакция может требовать выполнения действий на разных установках, транзакция считается завершенной, если она успешно завершена на всех вовлеченных установках);

Независимость от аппаратуры (желательно, чтобы система могла функционировать на установках, включающих компьютеры разных типов);

Независимость от типа операционной системы (система должна функционировать вне зависимости от возможного различия ОС на различных вычислительных установках);

Независимость от коммуникационной сети (возможность функционирования в разных коммуникационных средах);

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

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

Важнейшую роль в технологии создания и функционирования распределенных баз данных играет техника «представлений» (Views).

Представлением называется сохраняемый в базе данных авторизованный глобальный запрос на выборку данных. Авторизованность означает возможность запуска такого запроса только конкретно поименованным в системе пользователем. Глобальность заключается в том, что выборка данных может осуществляться со всей базы данных, в том числе из данных, расположенных на других вычислительных установках. Напомним, что результатом запроса на выборку является набор данных, представляющий временную на сеанс открытого запроса таблицу, с которой (которыми) в дальнейшем можно работать, как с обычными реляционными таблицами данных. В результате таких глобальных авторизованных запросов для конкретного пользователя создается некая виртуальная база данных со своим перечнем таблиц, связей,т. е. со «своей» схемой и со «своими» данными. В принципе, с точки зрения информационных задач, в большинстве случаев пользователю безразлично, где и в каком виде находятся собственно сами данные. Данные должны быть такими и логически организованы таким образом, чтобы можно было решать требуемые информационные задачи и выполнять установленные функции.

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

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

Технологически в реляционных СУБД техника представлений реализуется через введение в язык SQL-конструкций, позволяющих аналогично технике «событий-правил-процедур» создавать именованные запросы-представления:

CREA ТЕ VIEW ИмяПредставленият AS

SELECT...

FROM...

...;

В данных конструкциях после имени представления и ключевого слова AS размещается запрос на выборку данных, собственно и формирующий соответствующее представление какого-либо объекта базы данных.

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

GRANT SELECTON ИмяПредставления TO ИмяПользователя1, ИмяПользователя2,...;

Соответственно директива REVOKE отменяет уставленные ранее привилегии.

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

Решение подобных проблем и практическая реализация распределенных информационных систем осуществляется через отступление от некоторых рассмотренных выше принципов создания и функционирования распределенных систем. В зависимости оттого, какой принцип приносится в «жертву» (отсутствие центральной установки, непрерывность функционирования, согласованного состояния данных и др.) выделились несколько самостоятельных направлений в технологиях распределенных систем - технологии «Клиент-сервер», технологии реплицирования, технологии объектного связывания.

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


    1. Архитектура "файл-сервер"

С появлением сетей данные стали хранить на файл-сервере. Это первый вид многопользовательской системы. В этом случае их поиск и обработка происходит на рабочих станциях. При таком подходе на рабочую станцию посылаются не только данные, необходимые конечному пользователю, но и данные, которые используются только для выполнения запроса (например, фрагменты индексных файлов или данные, которые будут отброшены при выполнении запроса). Таким образом, объём “лишней” информации зачастую превышает объём “нужной”.

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

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

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

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

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

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

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

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

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

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

Объем оперативной памяти (далеко не все категории пользователей нуждаются в наличии большой оперативной памяти);

Наличие и объем дисковой памяти (достаточно популярны бездисковые рабочие станции, использующие внешнюю память дискового сервера);

Характеристики процессора и монитора (некоторым пользователям нужен мощный процессор, других в большей степени интересует разрешающая способность монитора;

Для третьих обязательно требуются мощные средства для работы с графикой и т.д.).

При необходимости можно использовать ресурсы и/или услуги (сервисы), предоставляемые сервером.

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

Примерами серверов могут служить:


  • сервер телекоммуникаций, обеспечивающий услуги по связи данной локальной сети с внешним миром;

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

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

  • файловый сервер, поддерживающий общее хранилище файлов для всех рабочих станций;

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

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

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

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

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


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

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

  1. Приложения, написанные пользователями. Это в основном профессиональные прикладные программы, написанные либо на общепринятом языке программирования, таком как С или PASCAL, либо на некоторых оригинальных языках, таких как FOCUS, хотя в обоих случаях эти языки должны как-то связываться с соответствующим подъязыком данных.

  2. Приложения, предоставляемые поставщиками (часто называемые инструментальными средствами). В целом назначение таких средств - содействовать в процессе создания и выполнения других приложений, т.е. приложений, которые делаются специально для некоторой специфической задачи (хотя созданные приложения могут и не выглядеть как приложения в общепринятом смысле). Действительно, эта категория инструментальных средств позволяет пользователям, особенно конечным, создавать приложения без написания традиционных программ. Например, одно из предоставляемых поставщиками инструментальных средств может быть процессором языка запросов, с помощью которого конечный пользователь может выдавать незапланированные запросы к системе. Каждый такой запрос является, по существу, не чем иным, как специальным приложением (например, ISQL СУБД MS SQL Server), предназначенным для выполнения некоторых специфических функций.

Поставляемые инструментальные средства, в свою очередь, делятся на несколько самостоятельных классов:


  • процессоры языков запросов;

  • генераторы отчетов;

  • графические бизнес-подсистемы;

  • электронные таблицы:

  • процессоры обычных языков;

  • средства управления копированием;

  • генераторы приложений;

  • другие средства разработки приложений, включая CASE-продукты (CASE или Computer-Aided Software Engineering - автоматизация разработки программного обеспечения), и т.д.
Подробности об этих приложениях выходят за рамки данного курса, однако следует отметить, что главная задача системы баз данных - это поддержка создания и выполнения приложений, поэтому качество имеющихся клиентских инструментальных средств должно быть главным образом при выборе базы данных (т.е. процессе выбора подходящей системы для данного заказчика). Другими - словами, СУБД сама но себе не единственный и - не обязательно важнейший фактор, который нужно учитывать.

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

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

Архитектура клиент/сервер характеризуется наличием одной СУБД для всех пользователей, которая расположена на сервере. При

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

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

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

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


Двухуровневая модель архитектуры клиент/сервер


Трехуровневая модель архитектуры клиент/сервер


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

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

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

Структура системы БД с выделением клиентов и сервера

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

Клиенты - это различные приложения, которые выполняются над СУБД.

Обычно в приложении выделяются следующие группы функций:


  • функции ввода и отображения данных;

  • прикладные функции, определяющие основные алгоритмы решения задач приложения;

  • функции обработки данных внутри приложения,

  • функции управления информационными ресурсами;

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

      1. Двухуровневая модель архитектуры клиент/сервер

Если все пять компонентов приложения распределяются только между двумя процессами, которые выполняются на двух платформах: на клиенте и на сервере, то такая модель называется двухуровневой. Она имеет несколько основных разновидностей. Рассмотрим их.

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

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


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

Помимо этого недостатка использование файлового сервера несет еще и другие:


  • на каждой рабочей станции должна находиться полная копия СУБД;

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

  • узкий спектр операций манипулирования данными, который определяется только файловыми командами;

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

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

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

Модель удаленного доступа


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

Тем не менее, данная технология обладает и рядом недостатков:


  • запросы на языке SQL при интенсивной работе клиентских приложений могут существенно загрузить сеть;

  • презентационные и прикладные функции приложения должны быть повторены для каждого клиентского приложения;

  • сервер в этой модели играет пассивную роль, поэтому функции управления информационными ресурсами должны выполняться на клиенте.
Технологию "клиент - сервер" поддерживают большинство современных СУБД: Informix, Ingres, Sybase, Oracle, MS SQL Server. В основу данной модели добавлен механизм хранимых процедур и механизм триггеров.

Механизм хранимых процедур позволяет создавать подпрограммы, работающие на сервере и управляющие его процессами.

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

Централизованный контроль целостности базы данных в модели сервера баз данных выполняется с использованием механизма триггеров. Триггеры также являются частью БД.

Триггер - это особый тип хранимой процедуры, реагирующий на возникновение определенного события в БД. Он активизируется при попытке изменения данных - при операциях добавления, обновления и удаления. Триггеры определяются для конкретных таблиц БД.

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

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

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




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

  1. Зачем все эти номера???

      1. Трехуровневая модель архитектуры клиент/сервер

Трехуровневая модель является расширением двухуровневой модели и в ней вводится дополнительный промежуточный уровень между клиентом и сервером. Архитектура трехуровневой модели приведена на рисунке.



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

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

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

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


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

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

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

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

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

1. Имеется набор логически связанных разделяемых данных.

2. Сохраняемые данные разбиты на некоторое количество фрагментов.

3. Может быть предусмотрена репликация фрагментов данных.

4. Фрагменты и их копии распределяются по разным узлам.

5. Узлы связаны между собой сетевыми соединениями.

6. Доступ к данным на каждом узле происходит под управлением СУБД.

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

8. СУБД каждого узла поддерживает хотя бы одно глобальное приложение.

Что такое УЗЕ на этом рисунке??

Компьютерная

Рис. 2.1. – Топология распределенной СУБД

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

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

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

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


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

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

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

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

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

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

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

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

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


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

      1. Недостатки

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

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

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

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

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

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

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

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

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

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

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

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


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

1. Прозрачность размещения.

2. Прозрачность транзакций.

3. Прозрачность выполнения.

4. Прозрачность использования СУБД.

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


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

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

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

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

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

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

1. Утрата определенной части локальной автономии.

2. Появление проблем с производительностью (поскольку центральный узел превращается в узкое место всей системы).

3. Снижение доступности – если центральный узел по какой-либо причине станет недоступным, все остальные узлы системы не смогут создавать новые объекты базы данных.

Альтернативное решение состоит в использовании префиксов, помещаемых в имена объектов в качестве идентификатора узла, создавшего этот объект. Однако подобный подход приводит к утрате прозрачности размещения.

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


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

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

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

1. К какому фрагменту следует обратиться.

2. Какую копию фрагмента использовать, если его данные участвуют в репликации.

3. В какое место хранения данных следует обратиться.

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

1. Время доступа, включающее физический доступ к данным на диске.

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

3. Время, необходимое для передачи данных по сетевым соединениям.

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


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

    1. Двенадцать правил Дейта
Основной принцип. С точки зрения конечного пользователя распределенная система должна выглядеть точно так же, как и обычная нераспределенная система.

Правило 1. Локальная автономность.

Узлы в распределенной системе должны быть автономными. В данном контексте автономность означает следующее:

1. Локальные данные принадлежат локальным владельцам и сопровождаются локально.

2. Все локальные операции остаются сугубо локальными.

3. Все операции на заданном узле контролируются только этим узлом.

Правило 2. Отсутствие зависимости от центрального узла.

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

Правило 3. Непрерывное функционирование.

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

1. Добавление и удаление узла из системы.

2. Динамическое создание и удаление фрагментов из одного или нескольких узлов.

Правило 4. Независимость от местонахождения.

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

Правило 5. Независимость от фрагментации.

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

Правило 6. Независимость от репликации.

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

Правило 7. Обработка распределенных запросов.

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

Правило 8. Обработка распределенных транзакций.

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

Правило 9. Независимость от типа оборудования.

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

Правило 10. Независимость операционной системы.

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

Правило 11. Независимость от сетевой архитектуры.

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

Правило 12. Независимость от базы данных.

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

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


  1. Возможности СУБД Oracle для построения распределенных баз данных

    1. Распределенная СУБД Oracle

Корпорация Oracle первой ввела распределенные базы данных еще в начале 1980-х в ответ на требования организовать доступ к данным на разных платформах.

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

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

Для выполнения запросов распределенные базы данных Oracle связываются за счет установки и поддержания связей баз данных. Чаще всего связь базы данных (database link) создается ее администратором, ответственным за управление доступом к распределенным источникам данных.

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

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

Р
Database link

identified by…


Database

EMP
DEP
Insert into EMP@SALES … ;

delete from DEP … ;

select … from EMP@SALES … ;


Приложение

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

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

Рис. 3.1 – Схема работы database link

Что такое СЕРВЕ на этом рисунке??

Связь базы данных задает следующую информацию:

1. Сетевой протокол (например, TCP/IP), который используется для соединения.

2. Имя удаленного хоста (компьютера в сети), на котором находится удаленная база данных.

3. Имя базы данных на удаленном хосте.

4. Наименование учетной записи для доступа к удаленной базе данных.

5. Пароль к этой учетной записи.

Локальная БД

Удаленная

Рис. 3.2. – Схема подключения к удаленной БД

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

create database link

connect to {current_user | identified by
}

using "(DESCRIPTION =

ВВЕДЕНИЕ 4

1.ПОНЯТИЕ РАСПРЕДЕЛЕННЫХ ИС 6

1.1. Предпосылки создания распределенных ИС 6

1.2. Понятие распределенных информационных систем 8

1.3. Средства работы с распределенными данными 11

2. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ 13

2.1. Основные принципы 13

2.2 Типы распределенных БД 15

2.3. Назначение и принцип работы распределенной БД 16

3. ПРИМЕРЫ РАСПРЕДЕЛЕННЫХ СИСТЕМ 21

ЗАКЛЮЧЕНИЕ 25

ЛИТЕРАТУРА 26


ВВЕДЕНИЕ

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

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

В данной работе рассмотрены основные сведения о распределенной информационной системе: описаны предпосылки ее развития, средства работы с данными, введено понятие распределенной базы данных, а также ее типов и основных принципов. В третьей главе представлены примеры распределенных информационных систем, такие как: - Informix On-Line фирмы Informix Software;- Ingres Intelligent Database фирмы Ingres Corp;- Oracle (version 7) фирмы Oracle Corp;- Sybase System 10 фирмы Sybase Inc.

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

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


1.ПОНЯТИЕ РАСПРЕДЕЛЕННЫХ ИС

1.1. Предпосылки создания распределенных ИС

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

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

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

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

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

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


1.2. Понятие распределенных информационных систем

Обычно, распределенной считают такую систему, в которой функционирует более одного сервера БД. Это применяется для уменьшения нагрузки на сервер и обеспечения работы территориально удаленных подразделений. Различная сложность создания, модификации, сопровождения, интеграции с другими системами позволяют разделить ИС на классы малых, средних и крупных распределенных систем. Малые ИС имеют небольшой жизненный цикл (ЖЦ), ориентацию на массовое использование, невысокую цену, невозможность модификации без участия разработчиков, использующие в основном настольные системы управления базами данных (СУБД) , однородное аппаратно-программное обеспечение, не имеющие средств обеспечения безопасности. Крупные корпоративные ИС, системы федерального уровня и другие имеют длительный жизненный цикл, миграцию унаследованных систем, разнообразие аппаратно-программного обеспечения, масштабность и сложность решаемых задач, пересечение множества предметных областей, аналитическую обработку данных, территориальную распределенность компонент .

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

Данные из разнородных систем обычно объединяются в логические группы, к которой и адресуются запросы. Абстрактная система запросов предполагает, что система оперирует не конкретным синтаксисом запросов, а его логической сутью на основе абстрактных атрибутов.
При построении распределенных ИС, как правило, используются две базовые архитектуры: Клиент/сервер и Internet Intranet.
Корпоративные ИС, построенные по архитектуре Клиент/сервер, предоставляют клиентам широкий спектр приложений и инструментов разработки, которые ориентированы на максимальное использование вычислительных возможностей клиентских рабочих мест. Ресурсы сервера используются в основном для хранения и обмена документами, а также для выхода во внешнюю среду. Данная архитектура позволяет лучше защитить серверную часть приложений, при этом, предоставляя возможность приложениям либо непосредственно адресоваться к другим серверным приложениям, либо маршрутизировать запросы к ним. Однако, частые обращения клиента к серверу снижают производительность работы сети. Приходится решать вопросы безопасной работы в сети, так как приложения и данные распределены между различными клиентами. Распределенный характер построения системы обусловливает сложность ее настройки и сопровождения

В основе ИС на базе Internet Intranet лежит принцип "открытой архитектуры". ПО ИС реализуется в виде аплетов или сервлетов (программ на языке JAVA) или в виде cgi модулей (программ на Perl или С). ИС данной архитектуры включает Web-yinh\, реализованные при помощи технологий CORBA Enterprise JavaBeans, ActiveX 1X"ОМ, многоуровневые приложения на основе Java и XML, .Net-концепция с XML, в которой обмен между различными серверами (хранилищами данных, бизнес-приложениями, серверами для мобильных клиентов и другое) производится при помощи нейтрального к любой архитектуре XML.

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

Функционирующих по единым правилам, определенным централизованно для всех баз данных, входящих в распределенную информационную базу;

Обмен данными осуществляется по правилам, также определенным централизованно.

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

Необходимость оперативного получения информации из баз данных дистанционно отдаленных подразделений (или филиалов);

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

Обычно, распределенной считают такую систему, в которой функционирует более одного сервера БД. Это применяется для уменьшения нагрузки на сервер и обеспечения работы территориально удаленных подразделений. Различная сложность создания, модификации, сопровождения, интеграции с другими системами позволяют разделить ИС на классы малых, средних и крупных распределенных систем. Малые ИС имеют небольшой жизненный цикл (ЖЦ), ориентацию на массовое использование, невысокую цену, невозможность модификации без участия разработчиков, использующие в основном настольные системы управления базами данных (СУБД) , однородное аппаратно-программное обеспечение, не имеющие средств обеспечения безопасности. Крупные корпоративные ИС, системы федерального уровня и другие имеют длительный жизненный цикл, миграцию унаследованных систем, разнообразие аппаратно-программного обеспечения, масштабность и сложность решаемых задач, пересечение множества предметных областей, аналитическую обработку данных, территориальную распределенность компонент.

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

РБД состоит из набора узлов, связанных коммуникационной сетью, в которой:

каждый узел - это полноценная СУБД сама по себе;

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

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

Фундаментальный принцип создания распределённых баз данных («правило 0»): Для пользователя распределённая система должна выглядеть так же, как нераспределённая система.

Фундаментальный принцип имеет следствием определённые дополнительные правила или цели. Таких целей всего двенадцать:

Локальная независимость. Узлы в распределённой системе должны быть независимы, или автономны. Локальная независимость означает, что все операции на узле контролируются этим узлом.

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

Непрерывное функционирование. Распределённые системы должны предоставлять более высокую степень надёжности и доступности.

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

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

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

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

Управление распределёнными транзакциями. Существует 2 главных аспекта управления транзакциями: управление восстановлением и управление параллельностью обработки. Что касается управления восстановлением, то чтобы обеспечить атомарность транзакции в распределённой среде, система должна гарантировать, что все множество относящихся к данной транзакции агентов (агент - процесс, который выполняется для данной транзакции на отдельном узле) или зафиксировало свои результаты, или выполнило откат. Что касается управления параллельностью, то оно в большинстве распределённых систем базируется на механизме блокирования, точно так, как и в нераспределённых системах.

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

Независимость от операционной системы. Возможность функционирования СУБД под различными операционными системами.

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

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

Типы распределённых баз данных

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

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

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

Мультибазы с общим языком доступа - распределённые среды управления с технологией «клиент-сервер»

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


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


12. ГИС – РАСПРЕДЕЛЕННАЯ ИНФОРМАЦИОННАЯ СИСТЕМА

12.1. Общие сведения

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

12.2. Возможности взаимодействия

Распределенная сущность ГИС подразумевает широкие возможности для взаимодействия между многими ГИС-организациями и системами. Сотрудничество и совместная работа пользователей очень важны для ГИС.

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

12.3. ГИС-сети

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

Ключевые web-узлы, называемые порталами каталогов ГИС, предоставляют возможность пользователям как выкладывать собственную информацию, так и искать доступную для использования географическую информацию. В результате ГИС-системы все в большей степени подключаются к Всемирной паутине и получают новые возможности обмена и использования информации.

Это видение внедрилось в сознание людей за последнее десятилетие и нашло отражение в таких понятиях, как Национальная инфраструктура пространственных данных (NSDI) и Глобальная инфраструктура пространственных данных (GSDI). Эти концепции постоянно развиваются и постепенно внедряются, причем не только на национальном и глобальном уровнях, но также на уровне округов и муниципальных образований. В обобщенном виде эти концепции включены в понятие Инфраструктуры пространственных данных (SDI, Spatial Data Infrastructure).

ГИС-сеть по сути является одним из методов внедрения и продвижения принципов SDI. Она объединяет множество пользовательских сайтов, способствует публикации, поиску и совместному использованию географической информации посредством World Wide Web.

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

В состав ГИС-сети входят три основных строительных блока:

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

12.4. Каталоги ГИС-порталов

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

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

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

Одним из примеров портала ГИС-каталога является портал правительства США (Geospatial One-Stop, см. www.geodata.gov). Этот портал позволит правительственным органам всех уровней и широкой общественности проще, быстрее и с меньшими затратами обращаться к географической информации.

Другие похожие работы, которые могут вас заинтересовать.вшм>

4627. Информационная система Клиника 436.13 KB
Главная цель создания баз данных состоит в объединении функций обновления, ведения и пополнения хранимой информации, а также справочной функции. Основное характерное свойство базы данных - ее независимость от рабочих программ, с которыми она взаимодействует.
6245. Корпоративная информационная система (КИС) 39.86 KB
Корпоративная информационная система КИС это совокупность информационных систем отдельных подразделений предприятия объединенных общим документооборотом таких что каждая из систем выполняет часть задач по управлению принятием решений а все системы вместе обеспечивают функционирование предприятия в соответствии со стандартами качества ИСО 9000. Модульность Позволяет распараллелить облегчить и соответственно ускорить процесс инсталляции подготовки персонала и запуска системы в промышленную эксплуатацию. Это требование приобретает...
1001. Информационная система в ОАО Газпромнефть 44.35 KB
Цели и задачи информационного обеспечения управления. Стратегия развития информационных систем управления. Информационное обеспечение управления деятельности руководителя организации Введение Об информации очень много говорят и лишь немногие организации четко и внятно формулируют требования к этому ресурсу необходимому для принятия эффективных управленческих решений.
7405. Маркетинговая информационная система ООО «Ривьера-Сочи» 1.96 MB
Объектом исследования является маркетинговая информационная система ООО Ривьера-Сочи. Цель исследования – разработка и внедрение маркетинговой системы сбора обработки и анализа информации с целью эффективного и рационального использования ресурсов предприятия. В процессе работы проводились исследования структуры организации анализ ее экономических показателей. В результате исследования был разработан модуль Опрос который функционирует на сайте компании ООО Ривьера-Сочи с целью получения необходимой информации от потребителей...
11460. Управленческий учет как информационная система предприятия 64.49 KB
Переход на МСФО – это новый взгляд на бухгалтерский учет. Теперь действия бухгалтера – уже не выполнение указаний а собственное профессиональное суждение по всем вопросам связанным с учетом ограниченное определенными принципами предлагаемыми МСФО.
17542. Информационная управляющая система товарного снабжения для супермаркета 79.67 KB
В программах сохраняются электронные данные о запасах которые постоянно используются для быстрого решения стандартных вопросов для чего в противном случае пришлось бы работать непосредственно с запасами. Для современных супермаркетов характерным является наличие следующих признаков: - значительный объем торговой площади от 200 м2 и более; - значительное количество отделов в которых представлена разнообразная продукция мясные фруктово-овощные молочные продукты хлеб хлебобулочные изделия и выпечка кондитерские табачные парфюмерные...
19833. Информационная система. Классификация ИС. Структурные составляющие корпоративных ИС 33.24 KB
Для бизнеса такими задачами являются повышение рентабельности рост продаж снижение издержек снижение рисков и общая стабилизация положения на рынке. Для государства важно с наименьшими затратами решить спектр социальных экономических оборонных и других задач. Определенный прорыв произошел в 2005 году когда впервые для автоматизации бизнес-процессов было внедренное полномасштабное компьютерное управление. Для примера можно упомянуть новейшие информационные технологии которые характеризуются относительно небольшими объемами требуемых...
12160. Информационная система «Архивы Российской академии наук» (ИСАРАН) 17.86 KB
Краткое описание разработки. Программное обеспечение ИСАРАН создано в популярной среде визуальной разработки – Delphi Дельфи клиентсерверная версия и адаптировано к специфике ведомственного Архивного фонда РАН. Преимущества разработки и сравнение с аналогами. Области коммерческого использования разработки.
12142. Информационная система мониторинга научно-технического потенциала региона 17.24 KB
Информационная система представляет собой программноинформационный комплекс предназначенный для оперативного аналитического учета и контроля показателей научнотехнического потенциала на основе данных различных статистических показателей анализируемых по авторской методике. Разработанная прикладная ИС обладает следующими преимуществами: адаптируемость для широкого класса показателей преемственность новых информационных технологий автоматизация значительного числа функций осуществляемых при оценке научнотехнического потенциала. Продукт...
12060. Многофункциональная интегрирующая информационная система мониторинга водных объектов (МИСМ ВО) 17.91 KB
Многофункциональная интегрирующая информационная система мониторинга водных объектов МИСМ ВО разработана на базе портальной webтехнологии и позволяет интегрировать и обрабатывать данные о состоянии водных объектов ВО получаемые от всех возможных источников контроля состояния ВО включая автоматические посты мониторинга АПМ на различных уровнях отдельные ВО их гидрографическая сеть в пределах административного региона и страны в целом комплекс ВО например каскад водохранилищ водный бассейн для обеспечения оптимального управления...


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: