Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Базы данных. Лекции по курсу. В 4 частях. Ч.1. Учебное пособие
.pdf
3. По способу передачи информации во время процесса репли-
кации:
прямая репликация – репликация выполняется репликатором,
имеющим устойчивое соединение с серверами распределенных баз
данных;
недетерминированная репликация – репликация выполняется ре-
пликатором, не имеющим устойчивого соединения с серверами распределенных баз данных.
4. По способу анализа реплицируемой информации:
репликация по состоянию – алгоритм репликации работает по
принципу сравнения записей одной таблицы с записями другой, и на
основании этого принимается решение о синхронизации;
репликация изменений – алгоритм репликации переносит только
изменения баз данных, хранящиеся в журнале вносимых транзакций
баз данных.
Реализация технологии DR отвечает на четыре вопроса.
1. Что тиражировать?
2. Где тиражировать?
3. Когда тиражировать?
4. Как разрешать возможные конфликты?
1. Что тиражировать?
Основное понятие тиражирования – понятие согласованного распределенного набора данных (consistent distributed data set – CDDS).
Это набор данных, идентичность которого поддерживается репликатором во всех узлах, вовлеченных в процесс тиражирования.
CDDS может представлять собой:
всю базу данных;
избранные объекты базы данных: таблицы или представления;
вертикальные проекции объектов базы данных: избранные
столбцы таблиц и/или представлений;
горизонтальные проекции объектов базы данных: избранные
строки таблиц и/или представлений;
сочетания перечисленных выше наборов.
71

Строгое определение CDDS состоит в выполнении следующих
условий:
набор данных, претендующий на определение в качестве CDDS,
должен располагаться в нескольких базах данных в идентичных копиях (идентичность понимается как одинаковость определения и состава
данных);
данные из различных CDDS должны быть взаимно ортогональ-
ны, т. е. одни и те же данные не могут входить в различные CDDS;
CDDS должен обладать свойством полноты, т. е. включать все
идентичные копии данных, существующие в распределенной системе.
Согласованность CDDS автоматически поддерживается репликатором и проявляется в том, что:
любые изменения любой копии CDDS автоматически распро-
страняются на все остальные копии;
внутри CDDS ни одна копия данных не имеет преимущества пе-
ред другой копией – они абсолютно равноправны;
все объекты CDDS имеют одинаковые имена.
При этом ни один узел (хранитель своей части CDDS) ничем не отличается от других узлов, если не оговорено обратное. Все узлы равноправны и могут быть источниками и приемниками изменений. При
необходимости внутри CDDS определяется приоритет данных каждого
узла, используемый при автоматическом разрешении конфликтов.
2. Где тиражировать?
Следующее понятие схемы тиражирования – путь переноса изменений (data propagation path – DPP) из каждой тиражируемой базы в
другие базы данных.
Основные схемы тиражирования перечислены ниже.
«Центр – филиалы»: изменения в базах данных филиалов пере-
носятся в центральную базу данных и/или наоборот.
Равноправное: несколько баз данных разделяют общий набор
изменяемых и тиражируемых данных
72

Каскадное: изменения в одной базе данных переносятся в другую базу данных, откуда, в свою очередь, в третью базу данных и т. д.
Через шлюзы изменения в базе данных могут переноситься в ба-
зу данных другой СУБД (неоднородная база данных).
Различные комбинации всех перечисленных выше схем.
3. Когда тиражировать?
Элементарным изменением, вызывающим реакцию репликатора,
является транзакция. Стремясь быть максимально гибким, репликатор
предоставляет следующие возможности:
тиражирование начинается после завершения определенного
числа транзакций (в частном случае после каждой транзакции);
тиражирование выполняется через равные промежутки времени
или к определенному моменту;
процесс тиражирования контролируется вручную администрато-
ром или созданным пользователем монитором тиражирования.
4. Как разрешать конфликты?
Репликатор самостоятельно обнаруживает конфликты (например,
при встречном тиражировании) и либо предоставляет разрешение конфликта администратору, либо делает это автоматически. Ниже приведены два наиболее часто используемых варианта разрешения конфликтов:
разрешение конфликта в пользу более раннего или более поздне-
го обнаружения;
разрешение конфликта в пользу наивысшего приоритета тира-
жируемой записи.
Решение перечисленных выше вопросов выливается в тот или иной
протокол тиражирования.
73

Специфика механизмов DR в значительной степени зависит от используемой СУБД. Один из простейших вариантов DR – использование «моментальных снимков» (snapshot).
Ниже приведен пример «моментального снимка» в СУБД Oracle в
виде горизонтальной проекции объединения таблиц
customer и order,
который будет выполнен в 23 : 55 и будет повторятся каждые 7 дней.
При этом каждый раз будут выбираться только завершенные заказы.
Create snapshot unfilled_orders
Refrash complete
Start with to_date ('dd-mon-yy hh23:mi:55')
Next sysdate + 7
As select customer_name, customer_address, order_date
From customer@paris, order@london
Where customer.cust_name = order.customer_number AND
order_complete_flag = "N";
Преимущества DR-технологии
1. Данные всегда расположены там, где они обрабатываются, а сле-
довательно, скорость доступа к ним существенно увеличивается.
2. Учитываются только операции, изменяющие данные, а не все
операции доступа к удаленным данным.
3. Со стороны исходной базы данных для принимающих баз данных репликатор выступает как процесс, инициированный одним пользователем, в то
время как в физически распределенной среде с каждым
локальным сервером работают все пользователи распределенной системы, конкурирующие за ресурсы друг с другом.
4. Наконец, никакой продолжительный сбой связи не в состоянии
нарушить передачу изменений, поскольку тиражирование предполагает буферизацию потока изменений (транзакций), и после восстановления связи передача возобновляется с той
транзакции, на которой тира-
жирование было прервано.
74

Недостатки DR-технологии
1. Невозможно полностью исключить конфликты между двумя
версиями одной и той же записи; они могут возникнуть, когда вследствие все той же асинхронности два пользователя в разных узлах исправят одну и ту же запись в тот момент, пока изменения в данных из
первой базы данных еще не были перенесены во
вторую.
2. Как следствие, DR-технологии – наиболее сильная угроза угроза
целостности DDB.
ВОПРОСЫ
1. Что понимается под распределенной базой данных?
2. Что такое система управления распределенной базой данных?
3. Какие два инструмента используются для построения распределенной базы данных?
4. С помощью каких операций реализуется горизонтальная фраг-
ментация?
5. С помощью каких операций реализуется вертикальная фрагмен-
тация?
6. Что понимается под локальной автономией?
7. Перечислите и характеризуйте
типы запросов.
8. Приведите пример распределенной транзакции.
9. Приведите пример распределенного запроса.
10. Какие факторы влияют на выбор алгоритма выполнения распре-
деленного запроса?
11. Что понимается под прозрачностью распределенности?
12. Что понимается под прозрачностью фрагментации?
13. Что понимается под прозрачностью тиражирования?
14. Что понимается под независимостью от оборудования?
15. Что понимается под независимостью от операционных
систем?
16. Что понимается под прозрачностью сети?
17. В чем особенности обработки и оптимизации распределенных
запросов?
18. Какие алгоритмы используются в технологии управления одно-
временным доступом в распределенной базе данных?
75

19. В чем состоит протокол двухфазовой фиксации транзакций
(2PC – 2 Phase Commit)?
20. Что такое тиражирование данных?
21. Какие функции выполняет репликатор?
22. Дайте понятие однонаправленной и многонаправленной репликации.
23. Как подразделяются репликации по времени проведения сеанса
репликации?
24. Как подразделяются репликации по способу передачи информации?
25. Как подразделяются репликации по способу анализа реплицируемой информации
?
26. Что такое согласованный распределенный набор данных?
27. Что может включать согласованный распределенный набор
данных?
28. Перечислите и характеризуйте основные схемы тиражирования.
29. Какие существуют способы разрешения конфликтов при тиражировании данных?
30. Какие преимущества предоставляет технология тиражирования
данных?
31. В чем состоит основная угроза технологии тиражирования
данных?
76

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Хансен Г. Базы данных: разработка и управление / Г. Хансен, Д. Хансен. –
Москва : Бином, 1999.
2. Кузнецов С. Д. Базы данных / С. Д. Кузнецов. – Москва : Академия,
2012.
3. Дейт К. Введение в системы баз данных / К. Дейт. – Москва : Вильямс,
2005.
4. Грофф Д. Р. SQL: Полное руководство / Д. Р. Грофф, П.
Киев : BMV, "Ирина", 2001.
5. Грабер М. Введение в SQL / М. Грабер. – Москва : ЛОРИ, 1996.
6. Стасышин В. М. Язык структурных запросов SQL : учеб. пособие /
В. М. Стасышин. – Новосибирск : Изд-во НГТУ, 1996. – 33 c.
7. Стасышин В. М. Проектирование информационных систем и баз дан-
ных : учеб. пособие / В. М. Стасышин. – Новосибирск : Изд-во НГТУ, 2012. –
100 c.
8. Стасышин
В. М. Стасышин, Т. Л. Стасышина. – Новосибирск : Изд-во НГТУ, 2014. –
176 с.
9. Стасышин В. М. Работа с базами данных : метод. указания к лабора-
торным работам по курсу «Базы данных» / В. М. Стасышин, Т. Л. Стасышина. – Новосибирск : Изд-во НГТУ, 2016. – 96 с.
10. Стасышин В. М. Практикум по языку SQL : учеб. пособие / В. М. Ста-
сышин, Т. Л. Стасышина. – Новосибирск : Изд-во НГТУ, 2016. – 60 с.
11. Аврунев О. Е. Модели баз данных : учеб. пособие / О. Е. Аврунев,
В. М. Стасышин. – Новосибирск : Изд-во НГТУ, 2018. – 124 с.
В. М. Технологии доступа к базам данных : учеб. пособие /
Н. Вайнберг. –
77

ОГЛАВЛЕНИЕ
1. Средства манипулирования реляционными данными..................................... 3
1.1. Реляционная алгебра .................................................................................. 4
1.2. Реляционное исчисление ......................................................................... 18
1.2.1. Реляционное исчисление с переменными-кортежами ................. 19
1.2.2. Реляционное исчисление с переменными-доменами ................... 24
Вопросы ........................................................................................................... 26
2. Язык SQL. Оптимизация запросов .................................................................. 29
2.1. Основные правила использования языка SQL ...................................... 30
2.2. Оптимизация запроса SQL ...................................................................... 35
Вопросы ........................................................................................................... 53
3. Распределенные базы данных .......................................................................... 55
3.1. Свойства распределенной базы данных ................................................. 57
3.2. Технологии баз данных ........................................................................... 65
Вопросы ........................................................................................................... 75
Библиографический список ................................................................................. 77

Стасышин Владимир Михайлович
Стасышина Татьяна Леонидовна
БАЗЫ ДАННЫХ
ЛЕКЦИИ ПО КУРСУ
В четырех частях
Учебное пособие
Редактор И.Л. Кескевич
Выпускающий редактор И.П. Брованова
Дизайн обложки А.В. Ладыжская
Компьютерная верстка С.И. Ткачева
Налоговая льгота – Общероссийский классификатор продукции
Издание соответствует коду 95 3000 ОК 005-93 (ОКП)
Часть 1
Подписано в печать 30.11.2021. Формат 60 84 1/16. Бумага офсетная. Тираж 100 экз.
Уч.-изд. л. 4,65.
Новосибирского государственного технического университета
Печ. л. 5,0. Изд. № 203. Заказ № 733. Цена договорная
Отпечатано в типографии
630073, г. Новосибирск, пр. К. Маркса, 20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
