Распределенные СУБД. Двенадцать правил К. Дейта

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

К. Дейтом были сформулированы 12 правил (1987) для типичной РаБД.

1. Локальная автономность. В данном контексте автономность означает следующее:

· локальные данные принадлежат локальным владельцам и сопровождаются локально;

· все локальные процессы остаются чисто локальными;

· все процессы на заданном узле контролируются только этим узлом.

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

3. Непрерывное функционирование. В идеале в системе не должна возникать потребность в плановом останове ее функционирования.

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

5. Независимость от фрагментации. Пользователь должен получать доступ к данным независимо от способа их фрагментации.

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

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

8. Обработка распределенных транзакций. Система должна поддерживать выполнение транзакций.

9. Независимость от типа оборудования. Система должна быть способна функционировать на оборудовании с различными вычислительными платформами.

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

11. Независимость от операционной системы. Система должна быть способна функционировать под управлением различных операционных систем.

12. Независимость от типа СУБД.


 

9.74 Обро-ка распределен запросов. + и -- РаСУБД.

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

· к какому фрагменту следует обратиться;

· какую копию фрагмента использовать, если его данные реплицируются;

· какое из местоположений должно использоваться.

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

 

9.74Преимущества РаСУБД:

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

2. Разделяемость и локальная автономность.

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

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

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

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

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

Недостатки РаСУБД:

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

2. Увеличение стоимости. Увеличение сложности означает и увеличение затрат на приобретение и сопровождение РаСУБД.

3. Проблемы защиты. В централизованных системах доступ к данным легко контролируется.

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

5. Отсутствуют стандарты на каналы связи и протоколы доступа к данным.

6. Недостаток опыта. Еще не накоплен необходимый опыт промышленной эксплуатации распределенных систем, сравнимый с опытом эксплуатации централизованных систем.

7. Сложность управления и обусловленная этим потенциальная опасность потери целостности данных.