Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 25
Текст из файла (страница 25)
Первое означает, что для реализации функций представления можно выбрать любое удобное и привычное для разработчика средство (от языка С до какой-либоCASE-системы). Независимость от менеджера ресурсов подразумевает возможность легкой замены одного менеджера ресурсов на другой, лишь бы ониподдерживали стандарт взаимодействия с прикладной программой (дляСУБД - язык SQL).Если Т Р М поддерживает множество аппаратно-программных платформ,как, например, T U X E D O System, то разрабатываемые приложения становятся, кроме того, мобильными.4.
Информационныесистемыв сетях123Сосредоточение всех прикладных функций в серверах приложений и наличие богатых возможностей управления и администрирования существенно упрощает обновление прикладных функций (бизнес-функций) и контрольза их непротиворечивостью. Изменения в прикладных функциях при этомникак не отражаются на программах-клиентах.Для пользователей распределенных систем ТРМ позволяют улучшитьпоказатели пропускной способности и времени отклика, снизить стоимостьобработки данных в оперативном режиме на основе эффективной организации вычислительного процесса.Улучшение показателей функционирования достигается благодаря осуществлению статической и динамической балансировки нагрузки.
Управлениезагрузкой состоит в запуске или остановке AS-процессов (программных компонентов AS-модели) в зависимости от заранее установленных параметров итекущего состояния системы. При необходимости ТРМ может тиражироватькопии AS-процессов на этом или других узлах сети.Администраторы распределенных систем, имея ТРМ, получают возможность легкого масштабирования ИС и увеличения производительности обработки информации. Здесь, кроме вертикального и горизонтального масштабирования,можнообеспечитьтакназываемоематричноемасштабирование. Суть его — введение дополнительных ресурсов в любуюточку гетерогенной вычислительной среды без изменения архитектуры приложения, выполняемого в новой среде.
Это означает, что без остановки серверов приложений в любое время может быть добавлен, например, компьютер или менеджер ресурсов.Кроме того, администраторы систем получают возможность снизить общую стоимость программного обеспечения систем клиент-сервер. Снижениестоимости можно достигнуть простым уменьшением количества подключений к серверам БД.Стоимость серверов БД (или СУБД) в сильной степени зависит от числаодновременных подключений к программе. Уменьшение количества подключений к серверу БД достигается путем мультиплексирования запросов или,что то же самое, логического преобразования потока запросов от многих источников к потоку от одного или нескольких источников.
Выигрыш в стоимости и производительности при эффективной реализации самих Т Р М может оказаться весьма существенным.4 . 3 . Управление распределенными д а н н ы м иС управлением данными в распределенных системах связаны следующиедве группы проблем: поддержка соответствия БД вносимым изменениям иобеспечение совместного доступа нескольких пользователей к общим данным.Часть 1. Основы построения124базданныхПроблема совместного доступа к распределенным данным, в свою очередь,тесно связана с тупиками.
Одним из средств избежания тупиков являютсяпротоколы фиксации транзакций.Поддержка соответствия БД вносимымизменениямВ современных распределенных системах информация может хранитьсяцентрализованно или децентрализованно.В первом случае проблемы идентичности представления информации для всех пользователей не существует,так как все последние изменения хранятся в одном месте. На практике чащеинформация изменяется одновременно в нескольких узлах распределеннойвычислительной системы. В этом случае возникает проблема контроля за всеми изменениями информации и предоставления ее в достоверном виде всемпользователям.Существуют две основные технологии децентрализованного управленияБД: распределенных БД (Distributed Database) и тиражирования, или репликации, БД ( D a t a Replication).РаспределеннаяБД состоит из нескольких фрагментов, размещенных наразных узлах сети и, возможно, управляемых разными С У Б Д .
С точки зрения программ и пользователей, обращающихся к распределенной БД, последняя воспринимается как единая локальная БД (рис. 4.6).БДБДзапросыРис. 4.6. Модель распределенной БДИнформация о местоположении каждой из частей распределенной БД идругая служебная информация хранится в так называемом глобальном ело-4. Информационныесистемыв сетях125варе данных.
В общем случае этот словарь может храниться на одном из узлов или тоже быть распределенным.Для обеспечения корректного доступа к распределенной БД в современных системах чаще всего применяется протокол (метод) двухфазной фиксации транзакций (two-phase commit). Суть этого метода состоит в двухэтапной синхронизации выполняемых изменений на всех задействованных узлах.На первом этапе в узлах сети производятся изменения (пока обратимые) в ихБД, о чем посылаются уведомления компоненту системы, управляющему обработкой распределенных транзакций.На втором этапе, получив от всех узлов сообщения о правильности выполнения операций (что свидетельствует об отсутствии сбоев и отказов аппаратно-программного обеспечения), управляющий компонент выдает всемузлам команду фиксации изменений.
После этого транзакция считается завершенной, а ее результат необратимым.Основным достоинством модели распределенной БД является то, чтопользователи всех узлов (при исправных коммуникационных средствах) получают информацию с учетом всех последних изменений. Второе достоинство состоит в экономном использовании внешней памяти компьютеров, чтопозволяет организовывать БД больших объемов.К недостаткам модели распределенной БД относится следующее: жесткие требования к производительности и надежности каналов связи, а такжебольшие затраты коммуникационных и вычислительных ресурсов из-за ихсвязывания на все время выполнения транзакций. При интенсивных обращениях к распределенной БД, большом числе взаимодействующих узлов,низкоскоростных и ненадежных каналах связи обработка запросов по этойсхеме становится практически невозможной.Модель тиражирования данных, в отличие от технологии распределенныхБД, предполагает дублирование данных (создание точных копий) в узлах сети(рис.
4.7). Данные всегда обрабатываются как обычные локальные. Поддержкуидентичности копий друг другу в асинхронном режиме обеспечивает компонентсистемы, называемый репликатором (replicator). При этом между узлами сетимогут передаваться как отдельные изменения, так и группы изменений. В течение некоторого времени копии БД могут отличаться друг от друга.К основным достоинствам модели тиражирования БД (в сравнении с предыдущей моделью) относятся: более высокая скорость доступа к данным, таккак они всегда есть в узле; существенное уменьшение передаваемого по каналам связи потока информации, поскольку происходит передача не всех операций доступа к данным, а только изменений в БД; повышение надежностимеханизмов доступа к распределенным данным, поскольку нарушение связине приводит к потере работоспособности системы (предполагается буферизация потока изменений, позволяющая корректно возобновить работу послевосстановления связи).Часть 1.
Основы построения126БДбазданныхБДзапросыРис. 4.7. Модель тиражирования БДОсновной недостаток модели тиражирования БД заключается в том, чтона некотором интервале времени возможно «расхождение» копий БД. Еслиотмеченный недостаток некритичен для прикладных задач, то предпочтительно иметь схему с тиражированием БД.Доступ к общим даннымПри обслуживании обращений к общим данным средства управления БД должны обеспечивать по крайней мере два основных метода доступа: монопольный иколлективный. Основными объектами доступа в различных системах могут бытьцеликом БД, отдельные таблицы, записи, поля записей. В СУБД, предоставляющих возможность разработки, объектами доступа также могут выступать спецификации отчетов и экранных форм, запросы и программы.Монопольный доступ обычно используется в двух случаях:• во-первых, когда требуется исключить доступ к объектам со стороны другихпользователей (например, при работе с конфиденциальной информацией);• во-вторых, когда производятся ответственные операции с БД, не допускающие других действий, например, изменение структуры БД.В первом случае пользователь с помощью диалоговых средств С У Б Д илиприкладной программы устанавливает явную блокировку.