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



Скачать 203.83 Kb.
страница1/3
Дата27.06.2019
Размер203.83 Kb.
Название файлаКонтрошка.docx
  1   2   3

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

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

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



Рис. 1. Уровни распределенной БД

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

Рассмотрим основные принципы распределенной обработки.



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

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

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

  • Независимость от расположения. Принцип означает прозрачность расположения данных.

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

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

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

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

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

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

  • Многомасштабность и многоплатформность. Данный принцип означает независимость от аппаратуры, независимость от операционной системы, независимость от сети.

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

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

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



  • Централизация.

  • Расчленение.

  • Дублирование.

  • Смешанная.

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

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

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

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

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

По принципу распределения данных по узлам сети системы бывают:



  • Территориальные.

  • Функцианальные.

  • Объектные.

  • Технологические.

  • Смешанные.

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

Основные этапы последовательности проектирования распределенной базы данных показаны на рис. 2.



Рис. 2. Этапы проектирования распределенной БД

Отметим, что этапы 1, 2, 3 и 6 подобны этапам при проектировании централизованной базы данных. Поэтому рассмотрим только этапы 4 и 5 (этап расчленения базы данных и этап размещения).

Этап расчленения базы данных

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

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

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

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



  • Приложения, использующие единственный файл.

  • Приложения, использующие несколько файлов:

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

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

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

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




Поделитесь с Вашими друзьями:
  1   2   3


База данных защищена авторским правом ©coolnew.ru 2019
обратиться к администрации

    Главная страница
Контрольная работа
Курсовая работа
Теоретические основы
Лабораторная работа
Общая характеристика
Методические указания
Рабочая программа
Теоретические аспекты
Дипломная работа
Пояснительная записка
Методические рекомендации
Практическая работа
Федеральное государственное
История развития
Основная часть
Общие сведения
Направление подготовки
государственное бюджетное
Теоретическая часть
Физическая культура
Учебное пособие
Самостоятельная работа
История возникновения
Методическая разработка
Краткая характеристика
Выпускная квалификационная
квалификационная работа
Практическое задание
бюджетное учреждение
Гражданское право
государственное образовательное
Название дисциплины
Российская академия
образовательное бюджетное
Общие положения
Понятие сущность
Уголовное право
Общая часть
Современное состояние
теоретические основы
история возникновения
Техническое задание
Финансовое планирование
образовательная организация
Финансовое право
прохождении учебной
Фамилия студента
Правовое регулирование
Государственное управление
Теория государства
Экономическая теория