Лекция 7 Распределенные информационные системы.

SAN

Сеть хранения данных SAN (Storage Area Network) - это высокоскоростная выделенная сеть передачи данных, связывающая один или несколько серверов с одной или несколькими системами хранения, работающими по протоколу Fibre Channel. Доступ к данным в SAN осуществляется на уровне блоков (в отличие от NAS, где доступ реализован на уровне файлов). Основная идея SAN состоит в отделении устройств хранения данных от сервера и сетевой ОС.

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

Средой передачи в Fibre Channel могут быть как медный кабель (длиной до 25 м), так и оптоволоконный кабель (длиной до 10 км), позволяющий обеспечивать надёжную защиту от помех. C использованием специальных технологий в настоящее время можно создавать SAN с расстоянием между объектами более 100 км (для этого используются так называемые удлинители - extenders).

В SAN Fibre Channel могут применяться следующие 4 типа подключения устройств (топологии):

- "Точка-точка" (point-to-point) - прямое подключение сервера к устройству или системе хранения.

- "Петля с арбитражным доступом" (Fibre Channel Arbitrated Loop - FC-AL) - передача данных осуществляется последовательно, от узла к узлу (по петле). Перед началом передачи передающее устройство инициализирует арбитраж за право использования среды передачи данных (откуда и происходит название топологии FC-AL). При использовании топологии FC-AL возможно подключение до 126 устройств хранения данных и серверов. Для этого используются концентраторы Fibre Channel. С их помощью возможно подключать и отключать устройства, находящиеся в петле FC-AL, без остановки всей системы, так как при отключении какого-либо устройства в петле концентратор автоматически замыкает, а в случае подключения нового устройства - автоматически размыкает её. При использовании топологии FC-AL полоса пропускания делится между всеми подключенными устройствами. Единовременно могут взаимодействовать только два устройства.

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

- "Cмешанное подключение". Для подключения используются как коммутаторы, так и концентраторы.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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