Введение в системы БД (542480), страница 211
Текст из файла (страница 211)
806 Часть 1'. Дополнительные аспекты 20.22.бар|а К., Нап|ва 3., Ка|пашбгйагп К. Кеч)вй(пй Сопппй Ргооевгйпб !и О!вгНЬигеб Оа|аЪаве Бумешв Н Ргос. 1997 АСМ Б!ОМОО 1п|. Сопб оп Малайе|пепг о( Оа|а.— Тпсвоп, Апк, Мау, 1997. Предлагается новый протокол распределенной фиксации, называемый ОРТ, который можно легко реализовать и использовать вместе с традиционными протоколами и который "обеспечивает наиболее высокую эффективность выполнения транзакции для различных рабочих нагрузок и системных конфигураций".
20.23.Нас!|ай|о| и К. О. !п|егорегаЬ1!!Гу; ОКОА ог КОА? Н !пгоОВ. — ! 991. — 6, № 2. 20.24.Напппаг М., БЬ|ргпап О. Ке!!аЬ|1!|у Месйап!вш гог БОО-1; А Бу|пеш гог О!мПЬп|еб Оа|аЬавев Н АСМ ТООБ. — Оесе|пЬег, 1980. — 5, № 4. См, комментарий к г20.34!. 20.25.1ВМ Ропп №БС26-465!. !ВМ Согрога|юп: О1вгг!Ьпгег! Ке!абопа1 Оа|аЬаве Агой!|есшге Кегегепсе. В стандарте ОКОА, разработанном фирмой 1ВМ, заданы четыре уровня функциональности распределенной базы данных. 1.
Удаленный запрос. 2. Удаленная часть работы. 3. Распределенная часть работы. 4. Распределенный запрос. Поскольку эти термины фактически стали стандартами программного обеспечения, по крайней мере некоторой его части, здесь следует объяснить их немного подробнее. Замечание. Термины "запрос" и "часть работы" предложены специалистами фирмы !ВМ для понятий оператор ЯД?. и транзакция соответственно.
1. Удаленный запрос. Означает, что приложение на узле Х может отослать для выполнения отдельный БЯ).-оператор некоторому удаленному узлу 2. Этот запрос полностью выполняется и фиксируется (или откатывается) на узле Х. Исходное приложение на узле Х может впоследствии отослать другой запрос узлу Х (или, возможно, третьему узлу 2) независимо от того, был ли первый запрос успешным. 2. Удаленная часть работы. Означает, что приложение на одном узле Х может отсылать на некоторый удаленный узел Х для выполнения все запросы к базе данных в составе некоторой заданной "части работы" (т.е. транзакции). Таким образом, обработка транзакции для этой базы данных выполняется целиком на удаленном узле Х.
Однако решение о том, будет ли данная транзакция завершена или отменена, принимается на локальном узле Х. Заиечание. Удаленная часть работы, по сути, является некоторым процессом в системе "клиент/сервер" с единственным сервером. 3, Распределенная часть работы. Означает, что приложение на одном узле 2 может отсылать к одному или нескольким удаленным узлам Х, 2, ... для выполнения некоторые запросы или все запросы к базе данных в составе некоторой заданной "части работы" (т.е. транзакции).
Таким образом, обработка транзакции лля этой базы данных в общем случае выполняется на нескольких узлах. Глава 20. Распределенные базы данньп 807 Причем каждый индивидуальный запрос может выполняться полностью на отдельном узле, а смешанные запросы — на нескольких различных узлах. Однако локальный узел Х все еще остается координатором, т.е. решение о том, будет ли данная транзакция выполнена, принимается на этом узле. Замечание. Распределенная часть работы фактически является некоторым процессом в системе "клиент/сервер" с несколькими серверами.
4. Распределенный запрос. Это единственный из всех четырех уровней, который наиболее близок к понятию поддержки истинной распределенной базы данных. Понятие "распределенный запрос" означает то же самос, что и "распределенная часть работы", плюс разрешение на выполнение индивидуальных запросов (БОЬ-операторов) к базе данных с охватом нескольких узлов. Например, согласно запросу, поступившему от узла Х, может потребоваться выполнить объединение или соединение таблицы на узле У и таблицы на узле 8.
Отметим, что только на этом уровне о системе можно сказать, что она обладает истинной независимостью от расположения. Во всех трех предыдуших случаях пользователь должен иметь сведения о физическом расположении данных. 20.2б. Документ 180 !3!э 9579-1.
1пГоппагюп Ргосезейпй бузгешз, Ореп Яужегпз 1пгегсоппесбоп, Кепюге !)ага Ассеьз Рагг 1; Сепепс Мобе!, бегт1се, апб Ргогосо!. — МагсЬ, 1990. 20.27.Документ 180 О!8 9579-2. !пТоггпабоп Ргосезз1п8 8узгегпз, Орел Бумешз 1пгегсоппесг!оп, Кешоге Вага Ассеьз Рагг 2: Я( П. 8рес!а!!ха!!оп. — РеЬгцагу, 1990.
20.28Ллпбзау В. С. ег а!. вогез оп Р1згг!Ьцгес! РагаЬазез д 1ВМ КезеагсЬ Кероп К)257!.— Юц1у, 1979. Эта статья некоторыми членами команды разработчиков системы К* разделена на пять глав. 1. Реплицируемые данные. 2. Права доступа и представления. 3. Введение в управление распределенными транзакциями. 4. Инструменты восстановления.
5. Инициирование, миграция и завершение выполнения транзакции. В главе 1 обсуждается проблема распространения обновлений. Глава 2, за исключением нескольких замечаний в самом ее конце, почти полностью посвящена вопросам предоставления прав доступа в нераспределенной системе (в стиле системы К). В главе 3 очень кратко рассматриваются вопросы инициирования, миграции и завершения выполнения транзакций, а также управления параллельностью и восстановлением. Глава 4 посвящена восстановлению, опять же, в нераспределенной системе.
Наконец„ в главе 5 более подробно обсуждается управление распределенными транзакциями, в частности дается детальное описание протокола двухфазной фиксации. 2029МоЬап С., Ь!пбзау В. б. Е!Тес!еп! Сотай Ргогосой Тог гЛе Тгее оТРгосеьвез Мобе! оТ !31згг!Ьцгеб Тгапзасбоп !I Ргос. 2пб АСМ Я!САСТ-Б!СОРБ бушроз!цш оп Рг1пс1р1ез оТ О1згг!Ьцгед Сошрцг!пй. — 1983. См. комментарий к [20.39!. 20ЗО.
Хеитпап Б., бгау 3. %Ь!сЬ !!Гау Го Кепю!е Я Н.? д !)ВРесР. — ЮесешЬег, 199!. — 4, № 12. См. комментарий к !20.39). 808 Часть !'. Дополнительные аспекты 20.31.0зсщ М. Т., Ча!с!цпех Р. Рппсср!ез об РВспЬшед РасаЬазе Яуметз (2пс! ес!!с!оп).— Еп8!есиоос! С1!СТз, ЬСЭ.; Ргепбсе-На!1, 1999. 2032 Кеппйас1скашр М. МоЬ11е РасаЬазе Керйсайоп 0 РВМЯ. — ОссоЬег, ! 997.
— 1О, № 11. Благодаря невысокой стоимости и портативности компьютеров, а также наличию беспроводных коммуникаций стало возможным появление систем распределенных баз данных нового типа, которые имеют свои специфические преимущества и недостатки. В частности, данные в таких системах могут быть реплицированы буквально на тысячи "узлов", но эти узлы мобильны, часто отключаются, их операционные характеристики очень отличаются от характеристик обычных узлов (например, в стоимость соединений входит и использование аккумуляторных батарей, и время соединения) и т.д. Исследования таких систем начаты сравнительно недавно (см.
[20.1], [20.21]). В этой краткой статье освещены некоторые принципиальные концепции и проблемы. 20.33.Косйп|е й В., Сооссспап Х. А Яогиау оТ Кезеагсй апс! Рече!оршепс !и Р!зспЬцсес! РасаЬазе Мапайегпепс 0 Ргос. Зп! !пс. Сопб оп Чесу 1.агЕе Раса Вазез. — То1суо, Варан, ОссоЬег, 1977. (Эта статья также опубликована в [20.4].) Очень полезный обзор следующих тем. ! . Синхронизация транзакций обновления.
2. Обработка распределенного запроса. 3. Управление при неисправностях компонентов. 4. Управление каталогом. 5. Проектирование базы данных. Последняя тема относится к проблеме физического проектирования, которая в разделе 20.8 называется проблемой размещения. 20.34.кесьл!е 5.В. ес а1,!псгоссцсйоп со а Яузсеш тог Р!спг!ьцсес1 Расаьазез (БРР-1) l/ Асм ТОРЯ.
— МагсЬ, ! 980. — 5, № 1. Работы [20.5], [20.6], [20.24], [20.34] и [20.40] связаны с ранним вариантом распределенной системы ЯРР-!, которая работала на нескольких компьютерах РРР10з фирмы РЕС, подключенных к сети Аграпес. В этой системе обеспечивалась полная независимость от размещения, фрагментации н репликации. Ниже приводится несколько замечаний по поводу некоторых ее особенностей.
Обработка запросов. Оптимизатор запросов в системе ЯРР-1 (см. [20,5] и [20.40]) в значительной мере использует оператор пагусоедшсеиия, который упоминался в главе 6. Преимущество использования полусоединений при обработке распределенных запросов заключается в том, что они могут привести к сокращению объема данных, пересылаемых по сети. Предположим, например, что переменная-отношение поставщиков Я хранится на узле й, переменная-отношение поставок ЯР— на узле В, а запрос формулируется следующим образом: "Определите результат соединения отношений поставщиков и поставок". Вместо того чтобы пересылать все отношение Я на узел В, можно выполнить перечисленные ниже действия.
° Вычислить проекцию (ТЕВР1) переменной-отношения ЯР по атрибуту Я]! на узле В. ° Переслать проекцию 2ЕИР1 на узел й. Глава 20. Расиределенные базы данных В09 ° Вычислить полусоединение (ТЕМР2) проекции ТЕМР1 и отношения Я по атрибуту Б$ на узле а, ° Переслать полусоединение ТЕМР2 на узел В. ° Вычислить полусоединение проекции ТЕМР2 и отношения ЯР по атрибуту Я() на узле В. В результате будет получен ответ на сформулированный выше запрос. Эта процедура, очевидно, приведет к значительному сокращению пересылки данных по сети тогда и только тогда, когда выполняется следующее условие. вТгв (ТЕИР1) + вТгв (ТЕМР2) к в1гв (Б) Здесь функция аЕгв() возвращает кардинальность отношения, указанного в качестве аргумента, умноженную на длину отдельного кортежа (скажем, в битах).