Введение в системы БД (542480), страница 210
Текст из файла (страница 210)
При этом указанные принципы по сути превращаются в инструмент защиты инвестиций в приложения. Упражнения 20.1. Дайте определение понятиям независимости от расположения, независимости от фрагментации и независимости от репликации. 20.2. Почему почти все системы распределенных баз данных являются реляционными? 20.3. Какими преимуществами обладают распределенные системы? Какие недостатки им свойственны? 20.4. Объясните следующие термины. стратегия обновления на основе первичной копии стратегия блокировки на основе первичной копии ситуация глобальной взаимной блокировки двухфазная фиксация глобальная оптимизация 20.5. Опишите схему присвоения имен объектам в системе Ке.
20.6. Успешность реализации шлюзов типа "точка-точка" зависит (помимо многих других обстоятельств) от согласования различий в интерфейсах между двумя используемыми СУБД. Рассмотрите любые две знакомые вам ЯОБ-системы и укажите как можно больше различий между их интерфейсами. Учитывайте как синтаксические, так и семантические различия. 20.7. Исследуйте любую доступную вам систему "клиент/сервер". Поддерживаются ли в ней явным образом операции установления соединения СОККЕСТ и разрыва соединения 01ЯСОККЕСТ? Поддерживается ли в ней операция ЯЕТ СОККЕС?1ОК или какие- либо другие операции с "соединениями"? Лолдерживаются ли в ней многосерверные транзакции? Поддерживается ли в ней двухфазная фиксация? Какие форматы и протоколы используются для установки соединений типа "клиент~сервер"? Какие типы сетевых сред в ней поддерживаются? Какое аппаратное обеспечение поддерживается для узлов клиентов и узлов серверов? Какое программное обеспечение гоперационная система, СУБД) поддерживается для узлов клиентов и узлов серверов? 803 Глава 20.
Распределенные базы Банных 20.8. Список литературы 20.1. 20.2. 804 20.3. 20.4. 20.5. Исследуйте любую доступную вам СУБД, поддерживающую язык БОЬ. Полдер живаются ли в ней хранимые процедуры? Если поддерживаются, то как они соз даются? Как они вызываются? На каких языках они пишутся? Полностью ли в ни> поддерживается стандарт языка БЯЬ? Поддерживаются ли в них условное ветвле.
ние (18-?НЕН-ЕЕЕЕ) и циклы? Каким образом результаты возвращаются клиенту'. Может ли одна хранимая процедура вызвать другую? А на другом узле? Выполня ется ли хранимая процедура как часть вызванной транзакции? Апдегзоп Т., Вге(Ьап У., Копй Н. Р., %оо! А. Кер!(саг(оп, Сопя(згепсу, апс Ргасг(сайгу: Аге ТЬезе Мцша1!у Ехс1цз1че? // Ргос. 1998 АСМ Б!СМО0 !пь Сопб ог, Мапайешеп! оГ 0а!а. — Беап1е, Юазй., 1цпе, 1998. В этой статье описаны три схемы для асинхронной репликации (называемой здесь ленивой), схемы, которые гарантируют атомарность транзакций и их глобальную не- прерывность без использования двухфазной фиксации.
Также описывается имитационное исследование их относительной производительности. Глобальная блокировка. предложенная в 120.21), используется только в первой схеме. В двух других схемах, первая из которых пессимистическая, а вторая оптимистическая, используется граф рвпщкоции. В статье делается вывод, что схемы с графом репликации превосходят схемы с использованием блокировки "обычно с огромным преимуществом". ВеП О., Ог)гпзоп 1. 0цадЬц!ед 0агаЬазе Бузгешз, — !(еад1п8, Маваг Адд1зоп-9/ез!еу, 1992. Это одно из нескольких существующих учебных пособий, посвященных теме распределенных систем (два других упоминаются в 120.10! и (20.31]).
Особенностью книги является подробное изложение учебного материала на основе примера создания сети в учреждениях здравоохранения. К тому же по сравнению с двумя следующими публикациями она является более практической. Вегпмеа Р. А. М1дд1еиаге; А Моде! Тог 0В!ПЬцгед Бузгеш Бе!к!сев // САСМ.— РеЬгцагу, 1996. — 39, № 2. Из краткого обзора: "'Классифицированы различные типы межплатформенного программного обеспечения, описаны их свойства, а также рассмотрен процесс их изменения.
Предоставлена концептуальная модель для исследования современных и будущих распределенных систем". Вегпзге1п Р. А., Когйп(е 1. В., БЬ1ршап О. %. (едз.). Тцгопа1; 01згг1Ьцгед 0ага Вазе Мапайещепг //1ЕЕЕ Сошрцгег Бос1егу. — 5855 Нар!аз Р1ага, бшге 301, Ьопй Веасй, Са!Т., 1978. Сборник статей, сгруппированных в следующие разделы. 1. Обзор методов управления реляционной базой данных. 2.
Обзор методов управления распределенной базой данных. 3. Методы обработки распределенных запросов. 4. Методы управления распределенной параллельностью. 5. Методы обеспечения надежности распределенной базы данных, Вегпз!е1п Р. А. ег а1. Оцегу Ргосезз1п8 |п а Бумеш Тог О!мПЬцгед 0а!аЬазез (500-1) // АСМ ТО05. — 0есешЬег, 1981. — 6, № 4. См. комментарий к [20.34). Часгпь 1г.
Дополнительные аспекты 20.6. Вегпыесп Р. А., Яцрпзап Р. ЪЧ., КосЬше Ю. В. Сопсштепсу Сод!го! 1п а Бузгеш Гог Ойи гпЬшеб РагаЪазез ($00-1) // АСМ ТОРЯ. — Магсй, 1980. — 5, № 1. См. комментарий к с20.34!. 20.7. Вопсеспро С. 1., Багассо С. М. Раса Ассеьз МкЫ!еиаге: Бее(с!п8 оис ТЬе М(сЫ1е бгоипс1 0 !пГоОВ. — Аийизс, 1995.
— 9, № 4. Полезное учебное пособие, в котором внимание акцентируется на продукте Раса)о!пег корпорации 1ВМ (хотя упоминаются и другие продукты). 20.8. Вге(сЬаП У., баге!а-Мойпа Н., 8ВЬегзсЛасх А. Очепде и оГ Ми!0-РагаЬазе Тгапзасйоп Мапа8егпепг // ТЬе Ч! ОВ Гоигпа!. — ОссоЬег, 1992. — 1, № 2. 20.9. Вп8Лг У., Нигзоп А.
К., Ра$сха6 Я. Аигогоасеб Кезо!игюп оГБешапг1с Несегойепе1су !п Ми!с!-РагаЪазез 0 АСМ ТОРБ. — Липе, 1994. — 19, № 2. 20.!О.Сеп! Я., Ре!а8ацс б. О!згпЬисес$0асаЬазез; Рг1пс!р!ез апс! Зузгешз. — 1Мезч Уотерс, ХХ.: Мсбгазч-Н!11, 1984. 20.11.СоЬеп %, %.!псейгасюп оГ Негегобепеоиз ОасаЬазез зч!1Ьоис Сопипоп Роша!пз ()з(п8 Оиепез Вазез оп Тех!ив( Яш!1аг!су // Ргос.
1998 АСМ $!бМОО !пг, СопГ. оп Мапайешепс оГ Раса. — аеас!е, Фаей., 1ипе, 1998. Описывается подход, который иногда называют "проблемой ненужных писем". Он позволяет определить, когда две различные текстовые строки (скажем, "АТвсТ Ве!! РаЬз" и "АТ9Т Кезеагсй") ссылаются на один и тот же обьект (подразумеваются, конечно, определенные семантические различия). Данный подход включает возможности определения сгозссести таких строк, "которые рассчитаны на использование модели векторного пространства, применяемой в выборке статистических данных". По мнению авторов статьи, быстродействие этого подхода значительно выше, чем быстродействие "простых методов вывода", и, кроме того, он действительно дает удивительно точные результаты.
20.12.0аше1з О. ес а!. Ап !и!гос(исгюп !о Оьдпьи!еб Оиегу сошрс1айоп 1п к' 0 РВспьшеб Раса Вазез (ес!. НЛ. 8сЬпе!с!ег): Ргос. 2пс1 !пг. Бушроз(иш оп РсмпЬигеб Раса Вазез. — Хечч Уог1с, Х.У.: ХопЬНо!1апс), 1982. См, комментарий к 120.391. 20.13. Расе С. !. РиппЬшеб РасаЬазез // Оаге С. 1.
Ап! пггос1исйоп со РасаЬазе Буыешз: Чо1- шпе 11. СЬарсег 7. — Кеас((п8, Макал Ас)с((зоп-зЧез(еу, 1983. Некоторые части данной главы основаны на этой более ранней публикации, 20.14.Расе С. 1. Чс/Ьас В а ОйдпЬисеб ОасаЬазе Яуыегп7 0 Расе С. 1. Ке!айопа! РагаЬазе Ъ'г111п8з 1985 — 1989. — Кеаб(пй, Макал Ас)с)(зоп-%ез1еу, 1990. В статье введены двенадцать целей для распределенных систем (раздел 20.3 построен строго в соответствии с этой статьей). Как уже упоминалось, требование локальной автоноиии не может быть достигнуто на все сто процентов. Поэтому определенные ситуации требуют принятия в этом отношении компромиссных решений, кратко перечисленных ниже. ° К отдельным фрагментам переменной-отношения обычно не может быть обеспечен непосредственный доступ даже с того узла, на котором они хранятся.
° К отдельным копиям реплицируемой переменной-отношения (или фрагмента) не может быть обеспечен непосредственный доступ даже с того узла, на котором они хранятся. Глава 20. Распределенные базы данных 805 ° Пусть Р является первичной копией некоторой реплицируемой переменной- отношения (или фрагмента) К, и пусть Р хранится на узле Х. Тогда каждый узел, который обращается к отношению К, зависит от узла Х, даже если на этом узле хранится другая копия отношения й. м К переменной-отношению, которая фигурирует в ограничении целостности для многих узлов, нельзя осуществить доступ с целью обновления в локальном контексте узла, на котором она хранится. Это возможно только в контексте распределенной базы данных, для которой задано ограничение.
° Узел, который действует как участник процесса двухфазной фиксации, должен строго придерживаться указаний (относительно фиксации или отката) соответствующего узла-координатора. 20.15.Оазе С. 3. ОВгНЬигеб ОагаЬазе: А С!озег Ьоо1с // Ояе С. 3. апб Оагзчеп Н. Ке1айопа1 ОагаЬазе 1Чг!г!пйз 1989-1991. — Кеайпй, Маза.: Абйзоп-Юез!еу, 1992. Продолжение публикации [20.14), в которой более подробно обсуждаются многие из перечисленных в этой главе двенадцати целей (хотя изложение ведется в стиле учебного пособия).
20.16.Оаге С. 3. %Ьу!з 11 5о О!(Вси!! со Ргоибе А ге!аг!оп 1пгегГасе го 1М5? // Ке[айопа! ОагаЬазе: 5е!есгег! Фг!г!пйз. — Кеайпй, Маза.: Аг!йзоп-'11/ез!еу, 1986. 20.17.Еряе!и К., 5гопеЬга!гег М., Фопй Е. А ОВпйЬигеб 0иегу Ргосезяпй |п а Ке!айова! ОаШЬазе 5узгещ // Ргос.
1978 АСМ 51бМОО!п!. СопГ. оп Мапайещепз оГ Оа!а.— Аияш, Тх., Мау-3ипе, 1978. См. комментарий к [20.363. 20.18.бо!бг|п8 К. А ОВсивяоп оГ Ке!абопа! ОагаЬазе Керйсабоп ТесЬпо!ойу //1пГоОВ.— 1994. — 8, Ы 1. Прекрасный обзор асинхронной репликации. 20.19.бгап! 3., Ь!ьг!и 'зЧ., Коиззорои!оз Х., 5е!!!з Т. 0иегу Ьапйиайез Гог Ке!аг!опа! Ми!!1- ОагаЬазез // ТЬе ЧЬОВ 3оигпа1.
— Арг!1, 1993. — 2, № 2. В статье преллагаются расширения реляционной алгебры и реляционного исчисления в отношении систем со многими базами данных. В ней обсужлаются вопросы оптимизации, а также показывается, что каждое выражение реляционной алгебры для нескольких отношений имеет эквивалент в реляционном исчислении для нескольких отношений ("обратная теорема представляет собой интересную научную задачу"). 20.20.бгау 3. Ь(. А ОВсиаяоп оГ О!згг!Ьи!ег! 5узгещз // Ргос. Соп8геьао А1СО 79. — Вап', 1ы а!у, ОсгоЬег, 1979. (Эта статья также опубликована в виде отчета: 1ВМ КезеагсЬ Кероп К32699.
— 1979.) Краткий, но очень удачный обзор и одновременно учебное пособие. 20.2!.бгау 3„Не!!апс1 Р., ОЪе11 Р., 5Ьаьйа О. ТЬе Оапйегз оГ Керйсайоп апд а 5о!шюп // Ргос. 1996 АСМ 510МОО 1пь Сопб оп Мапайещеп! оГ Раса. — Моп!геа!, Сапата, 3ипе, 1996. Цитата из резюме: "Распространение обновления в общем случае становится все более нестабильным при увеличении рабочей нагрузки... Предлагается новый алгоритм, предусматривающий мобильные (отсоединениые) приложения для предварительных транзакций обновления, которые затем применяются и к главной копии".