Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 23
Текст из файла (страница 23)
Децентрализованное управление, как правило, применяется в сетях со слабыми компьютерами и простейшими обменами между ними на уровне файлов, а также без серьезного контроля прав доступа к ресурсам сети. Основные ресурсы всех P C обычнооказываются общедоступными, хотя система не всегда обеспечивает корректное их совместное использование на прикладном уровне.Наиболее распространенными программными продуктами, позволяющими строить одноранговые сети, являются следующие программы и пакеты:Novell N e t W a r e Lite, Windows for Workgroups, Windows 95/98, ArtisoftLANtastic, LANsmart, Invisible Software NET-30 и другие.Развертывание одноранговой сети для небольшого числа PC часто позволяет построить более эффективную и живучую распределенную вычислительную среду.
Сетевое программное обеспечение в них является более простымпо сравнению с централизованными сетями. Здесь не требуется установкафайл-сервера (компьютера и соответствующих программ), что существенноудешевляет систему. Однако такие сети слабее с точки зрения защиты информации и администрирования.Говоря о сетях, часто используют термины «сервер» и «клиент». Любоевзаимодействие в сети предполагает как минимум два элемента: потребляющий и предоставляющий ресурсы (сервис или услуги). Потребитель ресурсов называется клиентом, а предоставляющий ресурсы компонент — серве-114Часть 1.
Основыпостроениябазданныхром (см. раздел 1). Основными видами ресурсов являются следующие: аппаратные (целая ЭВМ, дисковый накопитель, устройство печати и т. д.), программные и информационные.Если в качестве ресурса рассматривается вся ЭВМ, то говорят о компыотере-клиенте и компьютере-сервере. Если подразумевается некоторый аппаратный ресурс, то используют такие термины как: диск-сервер (файловый серверили файл-сервер), сервер печати. Типичными клиентами в сетях являются:ЭВМ, пользователь или программа.Возможно уточнение назначения компьютера при обработке информации.Тогда говорят о серверах сообщений (обработка поступающих сообщений),серверах БД (обработка запросов к БД), серверах приложений (выполнениеприложений пользователя) и т.
д.Иногда одним термином называют разные (аппаратные, программные илиаппаратно-программные) компоненты вычислительной системы. Так, сервером печати может служить компьютер с подключенным к нему принтером,программа печати или компьютер с программным обеспечением управленияпечатью.4 . 2 .
М о д е л и архитектуры клиент-серверПри построении распределенных ИС, работающих с БД, широко используется архитектура клиент-сервер. Ее основу составляют принципы организации взаимодействия клиента и сервера при управлении БД. Один из вариантов архитектуры клиент-сервер рассмотрен в подразделе 1.2.Чтобы охарактеризовать основные схемы взаимодействия процессов управления БД, воспользуемся Эталонной моделью Архитектуры открытыхсистем OSI.
Согласно этой модели, функция управления БД относится к прикладному уровню.Остановимся на двух самых верхних уровнях: прикладном и представительном, которые в наибольшей степени являются предметом внимания со стороны разработчика и пользователя. Остальные функции будем считать связными функциями, необходимыми для реализации двух первых. При этом будемпридерживаться широкого толкования термина СУБД, понимая под ним всепрограммные системы, которые используют информацию из БД.Как поддерживающая интерфейс с пользователем программа, СУБД, вобщем случае, реализует следующие основные функции:• управление данными, находящимися в базе;• обработка информации с помощью прикладных программ;• представление информации в удобном для пользователя виде.Если система размещается на одной ЭВМ, то все функции собраны в однойпрограмме и вызываются по схеме, подобной рассмотренной в разделе 1.4. Информационныесистемыв сетях115При размещении С У Б Д в сети возможны различные варианты распределения функций по узлам.
В зависимости от числа узлов сети, между которымивыполняется распределение функций СУБД, можно выделить двухзвенныемодели, трехзвенные модели и т. д. Место разрыва функций соединяется коммуникационными функциями (средой передачи информации в сети).Двухзвенные модели распределенияфункцийДвухзвенные модели соответствуют распределению функций С У Б Д между двумя узлами сети. Компьютер (узел сети), на котором обязательно присутствует функция управления данными, назовемкомпьютером-сервером.Компьютер, близкий к пользователю и обязательно занимающийся вопросами представления информации, назовемкомпьютером-клиентом.Наиболее типичными вариантами (рис.
4.1) разделения функций междукомпьютером-сервером и компьютером-клиентом являются следующие:• распределенное представление;• удаленное представление;• распределенная функция;• удаленный доступ к данным;• распределенная БД.Перечисленные способы распределения функций в системах с архитектурой клиент-сервер иллюстрируют различные варианты: от мощного сервера,когда практически вся работа производится на нем, до мощного клиента, ког-[ Компьютер-сервер~|Распределенное Удаленноепредставление представлениеРаспределенная функцияУдаленный доступ к даннымРаспределенная БДУправлениеданнымиУправлениеданнымиУправлениеданнымиУправлениеданнымиУправлениеданнымиОбработкаОбработкаОбработкаПредставлениеУправлениеданнымиОбработкаОбработкаОбработкаПредставление Представление Представление Представление ПредставлениеI1I Компьютер-клиент •Рис.
4.1. Спектр моделей архитектуры клиент-сервер116Часть 1. Основы построениябазданныхда большая часть функций выполняется на рабочей станции, а сервер обрабатывает поступающие к нему по сети SQL-вызовы.В моделях удаленного доступа к данным и удаленного представления производится строгое распределение функций между компьютером-клиентом икомпьютером-сервером. В других моделях имеет место выполнение одной изследующих функций одновременно на двух компьютерах: управления данными (модель распределенной БД), обработки информации (модель распределенной функции), представления информации (модель распределенногопредставления).Рассмотрим сначала модели удаленного доступа к данным и удаленногопредставления (сервера БД) как наиболее широко распространенные.В модели удаленного доступа к данным (Remote Data Access — RDA)программы, реализующие функции представления информации и логикуприкладной обработки, совмещены и выполняются на компыотере-клиенте.Обращение за сервисом управления данными происходит через среду передачи с помощью операторов языка SQL или вызовом функций специальнойбиблиотеки API (Application Programming Interface — интерфейса прикладного программирования).Основное достоинство RDA-модели состоит в большом обилии готовыхСУБД, имеющих SQL-интерфейсы, и существующих инструментальныхсредств, обеспечивающих быстрое создание программ клиентской части.
Средства разработки чаще всего поддерживают графический интерфейс пользователя в MS Windows, стандарт интерфейса O D B C и средства автоматической генерации кода. П о д а в л я ю щ е е б о л ь ш и н с т в о средств разработкииспользует языки четвертого поколения.Недостатками RDA-модели являются, во-первых, довольно высокая загрузка системы передачи данных вследствие того, что вся логика сосредоточена в приложении, а обрабатываемые данные расположены на удаленном узле.Как увидим далее, во время работы приложений обычно по сети передаютсяцелые БД.Во-вторых, системы, построенные на основе модели RDA, неудобны с точки зрения разработки, модификации и сопровождения. Основная причинасостоит в том, что в получаемых приложениях прикладные функции и функции представления тесно взаимосвязаны.
Поэтому даже при незначительномизменении функций системы требуется переделка всей прикладной ее части,усложняющая разработку и модификацию системы.Модель сервера Б Д (DataBase Server — DBS) отличается от предыдущей модели тем, что функции компьютера-клиента ограничиваются функциями представления информации, в то время как прикладные функции обеспечиваютсяприложением, находящимся на компьютере-сервере.
Эта модель является болеетехнологичной чем RDA-модель и применяется в таких СУБД, как Ingress, Sybaseи Oracle. При этом приложения реализуются в виде хранимых процедур.4. Информационныесистемыв сетях117Процедуры обычно хранятся в словаре БД и разделяются несколькими клиентами. В общем случае хранимые процедуры могут выполняться в режимахкомпиляции и интерпретации.Достоинствами модели DBS являются: возможность хорошего централизованного администрирования приложений на этапах разработки, сопровождения и модификации, а также эффективное использование вычислительныхи коммуникационных ресурсов. Последнее достигается за счет того, что выполнение программ в режиме коллективного пользования требует существенно меньших затрат на пересылку данных в сети.Один из недостатков модели DBS связан с ограничениями средств разработки хранимых процедур.
Основное ограничение — сильная привязкаоператоров хранимых процедур к конкретной СУБД. Язык написания хранимых процедур, по сути, является процедурным расширением языка SQL,и не может соперничать по выразительным средствам и функциональнымвозможностям с традиционными языками третьего поколения, такими какС и Pascal.
Кроме того, в большинстве С У Б Д нет удовлетворительныхсредств отладки и тестирования хранимых процедур, что делает их механизм опасным инструментом — неотлаженные программы могут приводитьк некорректностям БД, зависаниям серверных и клиентских программ вовремя работы системы и т. п.Другим недостатком DBS-модели является низкая эффективность использования вычислительных ресурсов ЭВМ, поскольку не удается организоватьуправление входным потоком запросов к программам компьютера-сервера, а также обеспечить перемещение процедур на другие компьютеры-серверы.В модели распределенного представления имеется мощный компьютерсервер, а клиентская часть системы практически вырождена. Функцией клиентской части является просто отображение информации на экране монитора и связь с основным компьютером через локальную сеть.СУБД подобного рода могут иметь место в сетях, поддерживающих работу так называемых X-терминалов.