Студентка Лапшова Дарья Эдуардовна
Студентка Полтавская Юлия Александровна
Старший преподаватель Спинеева Наталья Анатольевна
Восточноукраинский национальный університет
им. Владимира Даля
Украина
Основные концепции
распределенных СУБД
Системы управления базами
данных (СУБД) стали сегодня общепризнанным инструментом создания прикладных
программных систем. Эти инструментальные средства постоянно совершенствуются и
фирмы-разработчики СУБД внимательно следят за успехами своих конкурентов,
пытаясь оперативно включить в свои пакеты новые функции, реализованные у
конкурентов. Правда внутренняя архитектура СУБД не всегда позволяет сделать это
удачно.
Одной
из наиболее интересных новых возможностей современных мощных коммерческих СУБД
является поддержка распределенных баз данных. Распределенные базы данных
реализуются в локальной или глобальной компьютерной сети. При этом части одной
логической базы данных располагаются в разных узлах сети, возможно на
разнотипных компьютерах с различными операционными системами. Даже данные одной
таблицы реляционной СУБД могут физически храниться в разных узлах сети,
размещенных, например, в разных городах страны. Причем пользователи любого узла
такой распределенной СУБД имеют доступ к данным всех остальных узлов. Такое
распределение данных позволяет, например, хранить в узле сети те данные,
которые наиболее часто используются в этом узле. Такой подход облегчает и
ускоряет работу с этими данными и оставляет возможность работать с остальными
данными, хотя для доступа к ним требуется потратить некоторое время на передачу
данных по сети.
Основной
особенностью распределенной базы данных является ее "прозрачность"
для пользователей и разработчиков приложений. Пользователи и разработчики
представляют распределенную БД в виде некоторой единой логической локальной базы данных, не задумываясь о физическом расположении ее компонент. Отладка приложений также
может выполняться на локальной БД.
Перенесение
частей этой локальной базы данных в различные узлы сети
может выполняться в более позднее время администратором и оно не влечет за собой изменения
приложений. Более того, пользователи и разработчики приложений могут даже не
знать о том, где теперь физически размещены данные, с которыми они работают.
Поиск и пересылку удаленных данных автоматически выполняют программные средства
СУБД.
Конечно
для того, чтобы реализовать такой простой для конечного пользователя и
разработчика механизм представления распределенной БД, необходимо решить
множество проблем. Наиболее очевидные из них связаны с обеспечением целостности
и непротиворечивости данных распределенной БД, реализацией механизма поддержки
"прозрачности" распределенной БД, реализацией единого механизма
работы с частями БД, находящимися в СУБД различного типа и расположенными на разнотипных
компьютерах с различными операционными системами, обеспечением приемлемого
быстродействия прикладной системы и т.д.
Сегодня
многие фирмы - разработчики СУБД заявляют о том, что они поддерживают работу с
распределенными БД, однако при ближайшем рассмотрении в большинстве случаев эти
заявления оказываются несколько преувеличенными. Специалисты в области СУБД
считают, что только несколько пакетов СУБД позволяют в некоторой степени
реализовать распределенную базу данных.
По
определению, распределенная база данных (DDB - distributed database) - это
совокупность множества взаимосвязанных баз данных, распределенных в компьютерной
сети.
К
сожалению на сегодняшний день ни одна СУБД полностью не реализует это
определение.
Наиболее
близко к его реализации подошли следующие СУБД:
- Ingres Intelligent Database фирмы Ingres Corp;
- Oracle (version 7) фирмы Oracle Corp;
- Sybase System 10 фирмы Sybase Inc.
Хотя
ни одна из этих СУБД полностью не
реализует все функции распределенной СУБД, однако каждая из них реализует или в
скором времени будет реализовывать поддержку работы с распределенной БД.
Система
управления распределенной базой данных определяется как программная система,
которая позволяет управлять базой данных таким образом, чтобы ее
распределенность была прозрачна для пользователей. В этом определении следует
уточнить два отличительных условия. Первое заключается в том, что система
состоит из (возможно, пустого) множества узлов приема запросов (query site) и
непустого множества узлов данных (data site). Узлы данных обладают средствами
для хранения данных, а узлы приема запросов – нет; на них лишь выполняются
программы, реализующие пользовательский интерфейс для доступа к данным,
хранящимся в узлах данных. Второе условие заключается в том, что узлы логически
представляют собой независимые компьютеры, на которых установлены собственные
операционные системы (может быть, одинаковые на всех узлах, а возможно, и
разные) и могут выполняться независимые приложения. Т. Е. узлы – это
компьютеры, связанные сетью, а не процессоры, составляющие многопроцессорную
конфигурацию. Важнейший отличительный признак – слабосвязанный характер среды,
где каждый узел имеет собственную операционную систему и функционирует
независимо.
База
данных физически распределяется по узлам данных при помощи фрагментации и
репликации, или тиражирования, данных. Отношения, принадлежащие реляционной
базе данных, могут быть фрагментированы на горизонтальные или вертикальные
разделы.
Фрагменты
данных могут также тиражироваться с учетом спроса на доступ к ним. Это полезно,
если доступ к одним и тем же данным нужен из приложений, выполняющихся на
разных узлах. В таком случае, с точки зрения экономии затрат, более эффективно
будет поддерживать копии данных на всех узлах, чем непрерывно пересылать данные
между узлами.
Распределенные
системы баз данных имеют дополнительные преимущества перед традиционными
централизованными системами баз данных. К сожалению, эта технология не лишена и
некоторых недостатков. Ниже описаны как преимущества, так и недостатки,
свойственные распределенным СУБД
К
преимуществам распределенных систем баз данных относятся:
·
Отражение
структуры организации
·
Высокая
степень «разделяемости» и
локальной автономности
·
Повышение
доступности данных
·
Повышение
надежности
·
Повышение
производительности
К
недостаткам распределенных систем баз данных относятся:
·
Повышение
сложности
·
Увеличение
стоимости
·
Проблемы
защиты
·
Усложнение
контроля за целостностью данных
·
Усложнение
процедуры разработки базы данных.
Литература:
1. 1. Конноли Г., Бегг К. Базы данных. Проектирование, реализация,
сопровождение. Теория и практика. – 3-е изд.: Пер. с англ. – М.: Издательский
дом "Вильямс", 2009.
2. Карпова Т.С. Базы
данных: модели, разработка, реализация. – СПб.: Питер, 2001. – 304 с.:ил.