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

Автор работы: Пользователь скрыл имя, 11 Января 2012 в 23:39, доклад

Описание работы

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

Файлы: 1 файл

распределенные базы данных.docx

— 405.77 Кб (Скачать файл)
 

Архитектура систем баз данных с параллельной обработкой: а) с разделением памяти; б) с разделением дисков; в) без  разделения

       Преимущества  и недостатки распределенных СУБД

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

       Обзорная  таблица

Преимущества Недостатки
Отображение структуры организации Повышение сложности
Разделяемость и локальная автономность Увеличение  стоимости
Повышение доступности данных Проблемы защиты
Повышение надежности Усложнение  контроля за целостностью данных
Повышение производительности Отсутствие  стандартов
Экономические выгоды Недостаток  опыта
Модульность системы Усложнение  процедуры разработки базы данных
 

       Преимущества  распределенной СУБД

 

       Отражение структуры организации

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

       Высокая степень разделяемости и локальной автономности

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

       Повышение доступности данных

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

       Повышение надежности

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

       Повышение производительности

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

       Экономические выгоды

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

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

       Модульность системы

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

 

       Недостатки

 

       Повышение сложности

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

       Увеличение  стоимости

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

       Проблемы  защиты

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

       Усложнение  контроля за целостностью данных

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

       Отсутствие  стандартов

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

       Недостаток  опыта

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

       Усложнение  процедуры разработки базы данных

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

 

       Однородные  и разнородные  распределенные СУБД

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

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

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

       § иной тип используемого оборудования;

       § иной тип используемой СУБД;

       § иной тип применяемых оборудования и СУБД.

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

Информация о работе Распределенные базы данных