- •1. Распределенные базы данных и субд
- •1.1 Основные определения, концепции и классификация распределенных систем
- •1.1.1. Основные концепции распределенных систем с рбд и рсубд
- •1.1.2. Основные концепции распределенной обработки данных
- •1.1.3. Основные концепции параллельных субд
- •1.1.3.1. Системы с разделением памяти (срп)
- •1.1.3.2. Система без разделения (сбр)
- •1.1.3.3. Системы с разделением дисков (срд)
- •1.1.4. Мультибазовые системы
- •1.2 Гомогенные и гетерогенные распределенные субд
- •1.2.1. Преимущества и недостатки распределенных субд
- •1.2.1.1. Преимущества
- •1.2.1.1.1 Отражение структуры организации
- •1.2.1.1.2 Разделяемость и локальная автономность
- •1.2.1.1.3 Повышение доступности данных
- •1.2.1.1.4 Повышение надежности
- •1.2.1.1.5 Экономические выгоды
- •1.2.1.1.6 Модульность системы
- •1.2.1.2.3 Усложнение проблем защиты
- •1.2.1.2.4 Усложнение контроля за целостностью данных
- •1.2.1.2.5 Отсутствие стандартов
- •1.2.1.2.6 Недостаток опыта
- •1.2.1.2.7 Усложнение процедуры разработки базы данных
- •1.3 Функции распределенных субд
- •1.4 Архитектура распределенных субд
- •Глобальная концептуальная схема
- •1.4.2 Схемы фрагментации и распределения
- •1.4.3 Локальные схемы
- •1.4.4 Локальная субд
- •1.4.5 Компонент передачи данных
- •1.4.6 Глобальный системный каталог
- •1.4.7 Распределенная субд
- •1.5 Разработка распределенных реляционных баз данных
- •1.5.1 Распределение данных
- •1.5.2 Фрагментация
- •1.5.2.1 Назначение фрагментации
- •Корректность фрагментации
- •1.5.2.3 Типы фрагментации
- •1.5.3 Репликации.
- •1.5.3.1 Виды репликации
- •1.5.3.2 Функции службы репликации
- •1.5.3.3 Схемы владения данными
- •1.5.3.4 Сохранение целостности транзакций
- •1.5.3.5 Моментальные снимки таблиц
- •1.5.3.6 Триггеры базы данных
- •1.5.3.7 Выявление и разрешение конфликтов
- •1.6 Обеспечение прозрачности
- •1.6.1 Прозрачность распределенности
- •1.6.2 Прозрачность транзакций
- •1.6.2.1 Прозрачность параллельности
- •1.6.2.2 Прозрачность отказов
- •1.6.3 Прозрачность выполнения
- •Прозрачность использования
- •1.6.5 Заключение
- •1.7 Правила распределенных субд
- •1.8 Резюме
- •2 Введение в объектные субд
- •2.1 Специализированные приложения баз данных
- •2.1.1 Автоматизированное проектирование
- •2.1.2 Автоматизированное производство
- •2.1.3 Офисные информационные системы и мультимедиа системы
- •2.1.4 Геоинформационные системы
- •2.1.5 Научные приложения
- •2.2 Недостатки реляционных субд
- •2.3 Основные концепции объектно-ориентированного подхода (ооп).
- •2.3.1 Абстракция, инкапсуляция, сокрытие информации.
- •2.3.2. Объекты и атрибуты
- •2.3.3. Идентификация объекта
- •2.3.4. Методы и сообщения
- •2.3.5. Классы
- •2.3.6. Подклассы, суперклассы и наследование
- •2.3.7. Перегрузка
- •2.3.8. Полиморфизм и динамическое связывание
1.2.1.2.7 Усложнение процедуры разработки базы данных
Разработка РБД (РС), помимо обычных трудностей, связанных с процессом проектирования ЦБД (ЦС), требует принятия решения о фрагментации данных, распределении фрагментов по отдельным сайтам и организации процедур репликации данных.
1.3 Функции распределенных субд
Очевидно, что типичная распределенная СУБД должна обеспечивать, как минимум, тот же набор функциональных возможностей, который был определен для централизованных СУБД (см. стр. 2):
обеспечение возможности определения описания данных;
обеспечение возможности манипулирования данными;
обеспечения контролируемого доступа к БД.
Кроме того, РСУБД должна представлять следующий набор функциональных возможностей:
расширенные службы установки соединений должны обеспечивать доступ к удаленным сайтам и позволять передавать запросы и данные между сайтами, входящими в сеть;
расширенные средства ведения каталога, позволяющие сохранить сведения о распределении данных в сети;
средства обработки распределенных запросов, включая механизмы оптимизации запросов и организации удаленного доступа;
Расширение функций управления параллельностью, позволяющих поддерживать целостность реплицируемых данных;
Расширение функций восстановления, учитывающих возможность отказов в работе отдельных сайтов и отказов линий связи.
Функции централизованной СУБД
СУБД – это программное обеспечение, с помощью которого пользователи могут: определять (описывать), создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ.
БД – совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации.
Функции СУБД (ее возможности):
1. Позволяет определять (описывать) БД с помощью ЯОД (DDL). Язык ЯОД (DDL) предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в БД.
2. Позволяет вставлять, обновлять, удалять и извлекать информацию из БД, что осуществляется с помощью ЯМД (DML). Наличие централизованного хранилища всех данных и их описаний позволяет использовать язык ЯМД (DML), как общий инструмент организации запросов (есть процедурные и непроцедурные, например, язык SQL).
3. Предоставляет контролируемый доступ к БД с помощью следующих средств:
системы обеспечения безопасности, предотвращающей несанкционированный доступ к БД;
системы поддержки целостности данных;
системы управления параллельной работой приложений, контролирующей процессы их совместного доступа к БД;
системы восстановления данных.
Рис.
1.4 Архитектура распределенных субд
В лекциях по ИОСУ мы рассматривали трехуровневую архитектуру ANSI-SPARC для СУБД централизованного типа. Однако распределенные СУБД имеют существенные отличия, которые сложно отразить в некотором эквивалентном архитектурном решении, применяемом для большинства случаев РСУБД.
Рассмотрим один из вариантов рекомендуемой архитектуры РСУБД (СУРБД):
Рис. 1.4.1. Рекомендуемая архитектура СУРБД
Архитектура СУРБД включает следующие элементы:
Набор глобальных внешних схем (может быть много – n).
Глобальную концептуальную схему.
Схему фрагментации.
Схему распределения.
Набор схем для каждой локальной СУРБД, отвечающих требованиям трехуровневой архитектуры ANSI-SPARC.
Соединительные линии на схеме отображают (представляют) преобразования, выполненные между схемами различных типов. В зависимости от поддерживаемого уровня прозрачности некоторые из уровней рекомендуемой архитектуры могут не быть в реальных системах. Рассмотрим некоторые составляющие архитектуры.
