Анализ используемых архитектур сетевых баз данных в "Софит", Основные понятия распределенных баз данных - Модели серверов баз данных

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

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

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

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

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

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

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

    - Набор логически связанных разделяемых данных - Сохраняемые данные разбиты на некоторое количество фрагментов - Между фрагментами может быть организована репликация данных - Фрагменты и их реплики распределены по различным ресурсам

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

Ведущими компаниями-разработчиками программного обеспечения были сформулированы следующие требования к распределенным СУБД:

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

Ни одна из существующих СУБД не достигает этого идеала поскольку:

    - низкая и несбалансированная производительность сетей снижает общую производительность обработки в распределенных транзакциях; - обеспечение целостности данных в распределенных транзакциях базируется на принципе "все или ничего" и требует специального протокола, что приводит к длительной блокировке изменяемых данных; - необходимо обеспечить совместимость данных, для хранения которых в разных системах используются разные форматы и кодировки; - если каталог хранится в одной системе, то удаленный доступ будет замедлен; если будет размножен - изменения придется синхронизировать; - необходимо обеспечить совместимость СУБД разных типов и поставщиков; - велика потребность в ресурсах для обнаружения и устранения тупиковых ситуаций в распределенных транзакциях Титаренко, Г. А. Автоматизированные информационные технологии в экономике. - М.: Компьютер, 2008. - С. 88..

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

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

Недостатки распределенных баз данных:

    - Повышение сложности. Распределенные СУБД, способные скрыть от конечного пользователя распределенную природу используемых ими данных и обеспечить требуемый уровень производительности, надежности и доступности - безусловно являются более сложными программными комплексами, чем централизованные СУБД. - Увеличении стоимости. Увеличение стоимости есть и увеличение затрат на приобретение и сопровождение СУРБД (по сравнению с обычными централизованными СУБД). Потребуется дополнительное оборудование для сетевых соединений между сайтами. Следует рост расходов на оплату каналов связи, вызванных возрастанием сетевого трафика. Следует рост на оплату персонала по сопровождению сетевых соединений и локальных СУБД. - Проблемы защиты. В централизованных системах доступ к данным легко контролируется. В распределенных системах потребуется организовать контроль как данных, реплицируемыми на несколько различных сайтов, так и защиту сетевых соединений. - Усложнение контроля за целостностью данных. Целостность базы данных означает корректность и согласованность сохраняемых в ней данных. Требования целостности обычно формулируется в виде ограничений, выполнение которых гарантирует защиту информации от разрушения. Высокая стоимость передачи и обработки данных в распределенных СУБД - может препятствовать организации эффективной защиты от нарушений целостности данных. - Отсутствие стандартов. Функционирование распределенных СУБД - зависит от используемых каналов связи и стандартов на каналы и протоколы доступа к данным. Кроме того, не существует методологии и инструментальных средств, способных помочь пользователю в преобразовании Централизованных систем в распределенные. - Недостаток опыта. Пока есть несколько систем - прототипов и распределенных СУБД специального назначения. Однако распределенные системы общего назначения еще не получили широкого распространения. Соответственно нет опыта промышленной эксплуатации централизованных систем. Это сдерживает приход потенциальных сторонников данной технологии. - Осложнение процедуры разработки базы данных. Обычные трудности разработки БД плюс решения по фрагментации, распределения фрагментов по отдельным сайтам и организация репликации данных Голицына, О. Л. Информационные системы. - М. : ФОРУМ: ИНФРА-М, 2007. - С. 302..

Похожие статьи




Анализ используемых архитектур сетевых баз данных в "Софит", Основные понятия распределенных баз данных - Модели серверов баз данных

Предыдущая | Следующая