Сделай Сам Свою Работу на 5

Накопление и хранение данных

 

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

Существует две технологии реализации запросов пользователей:

файл – серверная

клиент – серверная

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

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

Технология « клиент – сервер » легко решает распределение баз данных, т.к. серверы также обращаются друг к другу с SQL – запросами. Работа WEB – приложений ASP.NET с серверными элементами управления типичный пример клиент серверных технологий.

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

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



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

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

использование страницы заголовка (COVER PAGE), на которую пишутся слова – дескрипторы. Программное обеспечение распознавания текста преобразует графическую информацию в цифровой код и документ записывается с заданными индексами.

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

Информация с телексных и телетайпных аппаратов поступает в БД через телекс сервер (Telex Server ).

Ключевые слова дескрипторы (описатели) являются важным средством для поиска документа. Их активно используют такие поисковые машины как Yandex, Rambler, Google и другие. Дескрипторы набираются перед текстом.

Общая схема распределенной базы выглядит так:

 

 
 


ЦБД

Telex

Server

               
   
     
 
 


ЛРС электронный Telex

почтамт Fax

Voice

Server

УРС

           
 
 
     
 

 


ЛРС ЛБД Fax

                       
       
 
   
     
 
 
 

 

 


УРС

 
 


 

,где УРС – удаленные рабочие станции

ЛРС – локальные рабочие станции

ЦБД – центральная база данных

ЛБД – локальная база данных

 

10-100 Мбайт/сек

 

коммутируемый канал 1200 – 19200 бод./сек.

 

канал 64 Кбит/сек

 

Поиск документов в распределенной базе данных ( РБД ) осуществляется по автоматически присвоенным номерам и по ключевым словам – дескрипторам.

ЛБД в автоматическом режиме или по инициативе оператора передают информацию в ЦБД.

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

Требования к РБД

 

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

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

Комбинация этого компонента и существующей СУБД называется « распределенной СУБД » (РСУБД).

В основе РБД лежат следующие требования:

· Локальная автономия

· Независимость от центрального узла

· Непрерывное функционирование

· Независимость от расположения

· Независимость от фрагментации

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

· Обработка распределенных запросов

· Управление распределенными транзакциями

· Независимость от аппаратного управления

· Независимость от операционной системы

· Независимость от сети

· Независимость от СУБД

 

 

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

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

Зависимость от центрального узла нежелательна по двум причинам:

· Центр. узел может быть узким местом всей системы

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

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

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

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

 

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

 

ЦБД С

А,В,С - узлы

 
 


В

 

А

 
 

 

 


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

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

Существует два типа фрагментации:

· горизонтальная ( связана с операцией селекции )

· вертикальная (связана с операцией проекции )

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

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

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

Репликация полезна:

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

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

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

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

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

Управление распределенными транзакциями. Транзакция - процесс реализации запроса. Особенностью транзакции является то, что этот процесс, включая множество действий с одной стороны, не делим с другой стороны, т.е. нельзя прервать транзакцию на одном из входящих в нее действий. Она либо выполнена, либо нет. В распределенной системе выполнение транзакций связано с исполнением программных кодов на нескольких узлах. Транзакция считается неделимым процессом, т.е. если какое – либо из составляющих действий окажется невыполненным, то вся транзакция считается невыполненной. Каждый программный код, исполняемый на каком – либо узле, при выполнении транзакции называется АГЕНТОМ. Таким образом, транзакция состоит из нескольких агентов, т.е. процессов, реализующих транзакции.

В процессе управления транзакцией выделяют:

· управление восстановлением

· управление параллельной обработкой

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

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

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

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

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

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

 



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.