Понятие и архитектура РаБД. Гомогенные и гетерогенные РаБД. Стратегии распределения данных в РаБД.
РаБД – набор логически связанных между собой разделяемых данных и их описаний, которые физически распределены по нескольким компьютерам ( узлам) в некоторой компьютерной сети. Каждая таблица в РАБД может быть разделена на некоторое количество частей, называемых фрагментами. Фрагменты могут быть горизонтальными, вертикальными и смешанными. Горизонтальные фрагменты - подмножества строк, а вертикальные – подмножества столбцов. Фрагменты распределяются на одном или нескольких узлах. С целью улучшения доступности данных и повышения производительности системы для отдельных фрагментов может быть организована репликация – поддержка актуальной копии некоторого фрагмента на нескольких различных узлах. Репликаты – множество различных физических копий некоторого объекта БД, для которых в соответствии с определенными в БД правилами поддерживается синхронизация с некоторой «главной копией».Существуют несколько альтернативных стратегий размещения данных в системе: раздельное (фрагментированное) размещение, размещение с полной репликацией и размещение с выборочной репликацией. Раздельное размещение БД разбивается на непересекающиеся фрагменты, каждый из которых размещается на одном из узлов системы. Отказ на любом из узлов вызовет утрату доступа только к той части данных, которая на нем хранилась. Размещение с полной репликацией предусматривает размещение полной копии всей БД на каждом из узлов системы. Следовательно, надежность и доступность данных, а также уровень производительности системы будут максимальными. Размещение с выборочной репликацией представляет собой комбинацию методов фрагментации, репликации и централизации. Одни массивы данных разделяются на фрагменты, тогда как другие подвергаются репликации. Все остальные данные хранятся централизованно. Благодаря своей гибкости, именно эта стратегия используется чаще всего. РаБД можно классифицировать на гомогенные и гетерогенные. Гомогенной РаБД управляет один и тот же тип СУБД. Гетерогенной РаБД управляют различные типы СУБД, использующие разные модели данных – реляционные, сетевые, иерархические или объектно-ориентированные СУБД. Гомогенные РаБД значительно проще проектировать и сопровождать. Кроме того, подобный подход позволяет поэтапно наращивать размеры РаБД, последовательно добавляя новые узлы к уже существующей РаБД. Гетерогенные РаБД обычно возникают в тех случаях, когда независимые узлы, управляемые своей собственной СУБД, интегрируются во вновь создаваемую РаБД.
73. Распределенные СУБД (РаСУБД). Двенадцать правил К. Дейта. Работу с РаБД обеспечивают распределенные СУБД. РаСУБД – комплекс программ, предназначенный для управления распределенной БД и позволяющий сделать распределенность информации «прозрачной» для конечного пользователя. Осн. Св-ва РаСУБД: 1.Прозрачность расположения дан. 2.Гетерогенность системы 3.Прозрачность сети 4.Поддержка респределенных запросов, изменений, транзакций 5.Безопасность 6.Универсальность доступа. Причины неэффективности РаСУБД: 1.Снижение произв-ти обработки; 2.Длительная блокировка изменяемых данных при выполнении распред-их транзакций; 3.Обеспесение совместимости дан; 4.Выбор схемы размещ. системных каталогов; 5. Обеспеч. совсместим-ти СУБД разных типов и поставщиков; 6.Увеличение потребителей в ресурасах. В РаСУБД должно существовать хотя бы одно глобальное приложение, поэтому любая РаСУБД должна имеет следующие особенности: 1.набор логически связанных разделяемых данных; 2.сохраняемые данные разбиты на некоторое количество фрагментов; 3.между фрагментами может быть организована репликация данных; 4.фрагменты и их реплики распределены по различным узлам; 5.узлы связаны между собой сетевыми соединениями; 6.работа с данными на каждом узле управляется локальной СУБД. СУБД на каждом узле способна поддерживать автономную работу локальных приложений. 12 правил К. Дейта (1987) Основой этих правил является то, что РАБД должна восприниматься пользователем точно так же, как и привычная централизованная БД. 1. Локальная автономность. локальные данные принадлежат локальным владельцам; все локальные процессы остаются чисто локальными; все процессы на заданном узле контролируются только этим узлом. 2. Отсутствие опоры на центральный узел. В системе не должно быть ни одного узла, без которого система не сможет функционировать. 3. Непрерывное функционирование. В идеале в системе не должна возникать потребность в плановом останове ее функционирования. 4. Независимость от расположения. Пользователь должен получать доступ к базе данных с любого узла, причем получать доступ к любым данным, независимо от того, где они физически сохраняются. 5. Независимость от фрагментации. Пользователь должен получать доступ к данным независимо от способа их фрагментации. 6. Независимость от репликации. Пользователь не будет иметь средств для получения прямого доступа к конкретной копии элемента данных, а также не должен заботиться об обновлении уже имеющейся копии. 7. Обработка распределенных запросов. Система должна поддерживать обработку запросов, ссылающиеся на данные, расположенные более чем на одном узле. 8. Обработка распределенных транзакций. Система должна поддерживать выполнение транзакций. 9. Независимость от типа оборудования. Система должна быть способна функционировать на оборудовании с различными вычислительными платформами. 10. Независимость от сетевой архитектуры.11. Независимость от операционной системы.12. Независимость от типа СУБД.
74. Обработка Ра Запросов.РаСУБД должна находить наиб эф-ные стратегии выполнения запросов. В распределении среди запросов на доступ к Д преобраз в упорядоченную последовательность операций локальных БД. В центральной среде выполняемого запроса на доступ к Д представляет собой упорядоченную последовательность операций БД. Для обеспечения целостности в оперативных системах используют 2 механизма:
1)Мех-м двухфазной фиксации транзакций – при ее выполнении БД проходит последовательно через 2 этапа:
*захват всех объектов Д на всех серверах к которым имело место обращения от имени транзакций
*либо происходят все изменения на всех серверах, либо в случае ошибки, откат к состоянию в котором находилось БД до выполнения первого этапа.
2)Мех-м асинхронного тиражирования Д – обработка Д выполняется локально, а распределение Д копируется на тот сервер, где они должны использоваться.
Преимущества РаСУБД:
1. Отражение структуры организации.
2. Разделяемость и локальная автономность.
3. Повышение доступности данных.
4. Повышение надежности.
5. Повышение производительности.
6. Экономические выгоды.
7. Модульность системы.
Недостатки РаСУБД:
1. Повышение сложности самой РаСУБД
2. Увеличение стоимости на приобретение и сопровождение РаСУБД.
3. Проблемы защиты Д, сетевых соединений разграничения доступа к Д.
4. Усложнение контроля за целостностью данных.
5. Отсутствие стандартов.
6. Недостаток опыта примененияраспределенных систем
7. Усложнение процедуры разработки БД.
8. Сложность управления .
75.Типы интерфейса доступа к Д базы.Все серверные СУБД имеют клиентскую часть, которая обращается к БД посредством СУБД. Между клиентским приложением и СУБД не существует прямой связи и дополнительно встраиваются программные модули, позволяющие клиентскому приложению получать доступ к БД, создаваемым с помощью разных СУБД. Такие модули называются механизмами доступа к данным.
Существует два основных способа доступа к данным из клиентских приложений: использование прикладного интерфейса и использование универсального программного интерфейса.
Прикладной программный интерфейс (API – Application Programming Interface) представляет собой набор функций, вызываемых из клиентского приложения. Он может работать только с СУБД данного производителя и при ее замене придется переписывать значительную часть кода клиентского приложения. Прикладной программный интерфейс различен для разных СУБД.
Универсальный механизм доступа к данным обеспечивает возможность использования одного и того же интерфейса для доступа к разным типам СУБД. Обычно он реализован в виде специальных дополнительных модулей, называемых драйверами.
Наиболее распространенным программным интерфейсом, обеспечивающим доступ к данным конкретной базы данных является ODBC (Open Database Connectivity) фирмы Microsoft. В рамках ODBC программное приложение непосредственно взаимодействует с диспетчером драйвером, посылая ему ODBC-вызовы. Диспетчер драйверов отвечает за динамическую загрузку нужного ODBC-драйвера, через который обращается с серверу баз данных. ODBC-драйвер выполняет все вызовы ODBC-функций и «переводит» их на язык источника данных. СУБД хранит и выводит данные в ответ на запросы со стороны ODBC-драйвера.
Задание ODBC-источникаданных является действием, которое осуществляется средствами операционной системы, управляющей компьютером.В операционной системе Windows в Панели управления предусмотрен пункт Исочники данных ODBC (32 разр) из которого вызывается Администратор источников данных ODBC. С его помощью могут быть заданы:
· пользовательский DSN – источник данных, доступный только текущему пользователю на текущем компьютере;
· файловый DSN – источник данных, которые могут применять совместно различные пользователи, у которых установлены одинаковые ODBC-драйверы;
· системный DSN – источник данных, доступный всем пользователям и службам текущего компьютера.