- •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.5.3.3 Схемы владения данными
Владение данными определяет, какому из сайтов будет представлена привилегия обновления данных. Основными типами схем владения являются варианты:
«ведущий - ведомый»,
«рабочий поток»,
«повсеместное обновление».
1. При организации владения данными по схеме «ведущий - ведомый» асинхронно реплицируемые данные принадлежат одному из сайтов, называемому ведущим или первичным, и могут обновляться только на нем. Здесь можно привести аналогию между издателем и подписчиками. Издатель (ведущий сайт) публикует свои (обновленные) данные. Все остальные сайты (подписчики) только лишь подписываются на эти данные, принадлежащие ведущему сайту, т.е. имеют собственные локальные копии, доступные им только для чтения.
Потенциально каждый из сайтов может играть роль ведущего для различных, не перекрывающихся наборов данных. Однако в системе может существовать только один сайт, на котором располагается ведущая обновляемая копия каждого конкретного набора данных. Следовательно при такой схеме владения данными конфликты обновления данных в системе полностью исключены.
2. При организации схемы владения данными по схеме «рабочий поток» есть возможность передавать право обновления реплицируемых данных от одного сайта к другому. Однако, в каждый конкретный момент времени существует только один сайт, имеющий право обновлять некоторый конкретный набор данных. При такой схеме также удается избежать появления конфликтов обновления, хотя этой модели свойственен больший динамизм.
При такой схеме приложения могут быть распределены по различным сайтам, и когда данные реплицируются или пересылаются на следующий сайт в цепочке, вместе с ними передается и право на их обновление.
Типичным примером использования схемы «рабочий поток» является система обработки запросов, в которой работа с каждым заказом выполняется в несколько этапов, например, оформление заказа, подготовка счета (в отделении компании), выписка счета (в центральном офисе компании) и т.д. (рис. 1.5.3.1).
Рис. 1.5.3.1. Схема владения «рабочий поток»
3. Схема владения «повсеместное обновление» создает равноправную среду, в которой множество сайтов имеют одинаковые права на обновление реплицируемых данных. В результате локальные сайты получают возможность работать автономно даже в тех случаях, когда другие сайты недоступны.
Однако, разделение права владения может вызвать возникновение в системе конфликтов, поэтому служба репликации в этой схеме должна использовать тот или иной метод выявления и разрешения конфликтов.
1.5.3.4 Сохранение целостности транзакций
Первые попытки реализации механизма репликации по самой свой сути не предусматривали сохранения целостности (т.е. корректности и завершенности) транзакций. Данные копировались без сохранения свойства атомарности (т.е. неделимости) транзакций, что потенциально могло привести к утрате целостности распределенных данных (или РБД). Такая ситуация проиллюстрирована на рис. 1.5.3.4.1.
Рис. 1.5.3.4.1. Репликация транзакций:
а) без соблюдения свойства атомарности транзакций;
б) с соблюдением свойства атомарности транзакций.
В данном случае транзакция, состоящая на исходном сайте из нескольких операций обновления данных в различных таблицах (А, В, С), в процессе репликации преобразовалась в серию отдельных (трёх) транзакций, каждая из которых обновляла данные в одной из таблиц. Если часть этих транзакций на целевом сайте завершилась успешно (первая и вторая), а остальная часть (третья транзакция) – нет, то согласованность (целостность) информации в двух базах данных утрачивалась (рис. 1.5.3.4.1,а).
В противоположность такому варианту, на рис. 1.5.3.4.1,б показан пример репликации с сохранением согласованности данных и, следовательно, целостности транзакции.
