Виды архитектур распределенных баз данных - Модели серверов баз данных
В рамках многоуровневого представления вычислительных систем можно выделить три группы функций, ориентированных на решение различных подзадач:
- 1 функции ввода и отображения данных (обеспечивают взаимодействие с пользователем); 2 прикладные функции, характерные для данной предметной области; 3 функции управления ресурсами (файловой системой, базой данных и т. д.)
Рисунок 3.1 - Компоненты сетевого приложения
Выполнение этих функций в основном обеспечивается программными средствами, которые можно представить в виде взаимосвязанных компонентов (см. рисунок 3.1), где:
- - компонент представления отвечает за пользовательский интерфейс; - прикладной компонент реализует алгоритм решения конкретной задачи; - компонент управления ресурсом обеспечивает доступ к необходимым ресурсам.
Автономная система (компьютер, не подключенный к сети) представляет все эти компоненты как на различных уровнях (ОС, служебное ПО и утилиты, прикладное ПО), так и на уровне приложений (не характерно для современных программ). Так же и сеть -- она представляет все эти компоненты, но, в общем случае, распределенные между узлами. Задача сводится к обеспечению сетевого взаимодействия между этими компонентами.
Архитектура "клиент-сервер" определяет общие принципы организации взаимодействия в сети, где имеются серверы, узлы-поставщики некоторых специфичных функций (сервисов) и клиенты, потребители этих функций.
Практические реализации такой архитектуры называются клиент-серверными технологиями. Каждая технология определяет собственные или использует имеющиеся правила взаимодействия между клиентом и сервером, которые называются протоколом обмена (протоколом взаимодействия).
В любой сети (даже одноранговой), построенной на современных сетевых технологиях, присутствуют элементы клиент-серверного взаимодействия, чаще всего на основе двухзвенной архитектуры. Двухзвенной (two-tier, 2-tier) она называется из-за необходимости распределения трех базовых компонентов между двумя узлами (клиентом и сервером).
Двухзвенная архитектура используется в клиент-серверных системах, где сервер отвечает на клиентские запросы напрямую и в полном объеме, при этом используя только собственные ресурсы. Т. е. сервер не вызывает сторонние сетевые приложения и не обращается к сторонним ресурсам для выполнения какой-либо части запроса (см. Приложение А.1.)
Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры:
- - сервер терминалов -- распределенное представление данных; - файл-сервер -- доступ к удаленной базе данных и файловым ресурсам; - сервер БД -- удаленное представление данных; - сервер приложений -- удаленное приложение.
Исторически первой появилась модель распределенного представления данных (модель сервер терминалов). Она реализовывалась на универсальной ЭВМ (мэйнфрейме), выступавшей в роли сервера, с подключенными к ней алфавитно-цифровыми терминалами. Пользователи выполняли ввод данных с клавиатуры терминала, которые затем передавались на мэйнфрейм и там выполнялась их обработка, включая формирование "картинки" с результатами. Эта "картинка" и возвращалась пользователю на экран терминала.
С появлением персональных компьютеров и локальных сетей, была реализована модель файлового сервера, представлявшего доступ файловым ресурсам, в т. ч. и к удаленной базе данных. В этом случае выделенный узел сети является файловым сервером, на котором размещены файлы базы данных. На клиентах выполняются приложения, в которых совмещены компонент представления и прикладной компонент (СУБД и прикладная программа), использующие подключенную удаленную базу как локальный файл. Протоколы обмена при этом представляют набор низкоуровневых вызовов операций файловой системы Тельнов, Ю. Ф. Интеллектуальные информационные системы в экономике. - М. :: СИНТЕГ, 2009. - С. 88..
Такая модель показала свою неэффективность ввиду того, что при активной работе с таблицами БД возникает большая нагрузка на сеть. Частичным решением является поддержка тиражирования (репликации) таблиц и запросов. В этом случае, например при изменении данных, обновляется не вся таблица, а только модифицированная ее часть.
С появлением специализированных СУБД появилась возможность реализации другой модели доступа к удаленной базе данных -- модели сервера баз данных. В этом случае ядро СУБД функционирует на сервере, прикладная программа на клиенте, а протокол обмена обеспечивается с помощью языка SQL. Такой подход по сравнению с файловым сервером ведет к уменьшению загрузки сети и унификации интерфейса "клиент-сервер". Однако, сетевой трафик остается достаточно высоким, кроме того, по прежнему невозможно удовлетворительное администрирование приложений, поскольку в одной программе совмещаются различные функции.
С разработкой и внедрением на уровне серверов баз данных механизма хранимых процедур появилась концепция активного сервера БД. В этом случае часть функций прикладного компонента реализованы в виде хранимых процедур, выполняемых на стороне сервера. Остальная прикладная логика выполняется на клиентской стороне. Протокол взаимодействия -- соответствующий диалект языка SQL.
Преимущества такого подхода очевидны:
- - возможно централизованное администрирование прикладных функций; - снижение стоимости владения системой (TOC, total cost of ownership) за счет аренды сервера, а не его покупки; - значительное снижение сетевого трафика (т. к. передаются не SQL-запросы, а вызовы хранимых процедур).
Основной недостаток -- ограниченность средств разработки хранимых процедур по сравнению с языками высокого уровня.
Реализация прикладного компонента на стороне сервера представляет следующую модель -- сервер приложений. Перенос функций прикладного компонента на сервер снижает требования к конфигурации клиентов и упрощает администрирование, но представляет повышенные требования к производительности, безопасности и надежности сервера.
В настоящее время намечается тенденция возврата к тому, с чего начиналась клиент-серверная архитектура -- к централизации вычислений на основе модели терминал-сервера. В современной реинкарнации терминалы отличаются от своих алфавитно-цифровых предков тем, что имея минимум программных и аппаратных средств, представляют мультимедийные возможности (в т. ч. графический пользовательский интерфейс). Работу терминалов обеспечивает высокопроизводительный сервер, куда вынесено все, вплоть до виртуальных драйверов устройств, включая драйверы видеоподсистемы.
Еще одна тенденция в клиент-серверных технологиях связана со все большим использованием распределенных вычислений. Они реализуются на основе модели сервера приложений, где сетевое приложение разделено на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная клиент-серверная архитектура становится трехзвенной (three-tier, 3-tier) Коннолли, Э. Базы данных: проектирование, реализация, сопровождение. - СПб.: Инфа. 2010. - С. 108..
Как правило, третьим звеном в трехзвенной архитектуре становится сервер приложений, т. е. компоненты распределяются следующим образом (Приложение А.2):
- 1 Представление данных -- на стороне клиента. 2 Прикладной компонент -- на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО). 3 Управление ресурсами -- на сервере БД, который и представляет запрашиваемые данные.
Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multi-tier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня.
Двухзвенная архитектура проще, так как все запросы обслуживаются одним сервером, но именно из-за этого она менее надежна и предъявляет повышенные требования к производительности сервера.
Трехзвенная архитектура сложнее, но благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура представляет:
- 1 Высокую степень гибкости и масштабируемости. 2 Высокую безопасность (т. к. защиту можно определить для каждого сервиса или уровня). 3 Высокую производительность (т. к. задачи распределены между серверами).
Архитектура клиент-сервер применяется в большом числе сетевых технологий, используемых для доступа к различным сетевым сервисам. Кратко рассмотрим некоторые типы таких сервисов (и серверов).
Web-серверы изначально представляли доступ к гипертекстовым документам по протоколу HTTP (Huper Text Transfer Protocol). Сейчас поддерживают расширенные возможности, в частности работу с бинарными файлами (изображения, мультимедиа и т. п.).
Серверы приложений - Предназначены для централизованного решения прикладных задач в некоторой предметной области. Для этого пользователи имеют право запускать серверные программы на исполнение. Использование серверов приложений позволяет снизить требования к конфигурации клиентов и упрощает общее управление сетью.
Серверы баз данных используются для обработки пользовательских запросов на языке SQL. При этом СУБД находится на сервере, к которому и подключаются клиентские приложения.
Файл-сервер хранит информацию в виде файлов и представляет пользователям доступ к ней. Как правило файл-сервер обеспечивает и определенный уровень защиты от несакционированного доступа.
Прокси-сервер, во-первых, действует как посредник, помогая пользователям получить информацию из Интернета и при этом обеспечивая защиту сети. Во-вторых, сохраняет часто запрашиваемую информацию в кэш-памяти на локальном диске, быстро доставляя ее пользователям без повторного обращения к Интернету.
Межсетевые экраны, анализирующие и фильтрующие проходящий сетевой трафик, с целью обеспечения безопасности сети.
Почтовые серверы представляют услуги по отправке и получению электронных почтовых сообщений.
Серверы удаленного доступа (RAS) - эти системы обеспечивают связь с сетью по коммутируемым линиям. Удаленный сотрудник может использовать ресурсы корпоративной ЛВС, подключившись к ней с помощью обычного модема.
Для доступа к тем или иным сетевым сервисам используются клиенты, возможности которых характеризуются понятием "толщины". Оно определяет конфигурацию оборудования и программное обеспечение, имеющиеся у клиента. Рассмотрим возможные граничные значения:
"Тонкий" клиент" - этот термин определяет клиента, вычислительных ресурсов которого достаточно лишь для запуска необходимого сетевого приложения через web-интерфейс. Пользовательский интерфейс такого приложения формируется средствами статического HTML (выполнение JavaScript не предусматривается), вся прикладная логика выполняется на сервере. Для работы тонкого клиента достаточно лишь обеспечить возможность запуска web-браузера, в окне которого и осуществляются все действия. По этой причине web-браузер часто называют "универсальным клиентом".
"Толстый" клиент" - таковым является рабочая станция или персональный компьютер, работающие под управлением собственной дисковой операционной системы и имеющие необходимый набор программного обеспечения. К сетевым серверам "толстые" клиенты обращаются в основном за дополнительными услугами (например, доступ к web-серверу или корпоративной базе данных).
Так же под "толстым" клиентом подразумевается и клиентское сетевое приложение, запущенное под управлением локальной ОС. Такое приложение совмещает компонент представления данных (графический пользовательский интерфейс ОС) и прикладной компонент (вычислительные мощности клиентского компьютера).
В последнее время все чаще используется еще один термин: "rich"-client. "Rich"-клиент своего рода компромисс между "толстым" и "тонким" клиентом. Как и "тонкий" клиент, "rich"-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т. п.)
Прикладная логика "rich"-клиента также реализована на сервере. Данные отправляются в стандартном формате обмена, на основе того же XML (протоколы SOAP, XML-RPC) и интерпретируются клиентом.
Некоторые основные протоколы "rich"-клиентов на базе XML приведены ниже:
- - XAML (eXtensible Application Markup Language) -- разработан Microsoft, используется в приложениях на платформе. NET; - XUL (XML User Interface Language) -- стандарт, разработанный в рамках проекта Mozilla, используется, например, в почтовом клиенте Mozilla Thunderbird или браузере Mozilla Firefox; - Flex -- мультимедийная технология на основе XML, разработанная Macromedia/Adobe Фуфаев, Э. В. Разработка и эксплуатация удаленных баз данных. - М. : Академия, 2009. - С. 114..
Похожие статьи
-
Введение - Модели серверов баз данных
Какая бы сфера человеческой деятельности не была затронута: торговля, медицина, образование, промышленность, сфера развлечений или управления, везде...
-
Модель сервера приложений - Теоретические основы информационных технологий
Чтобы разнести требования к вычислительным ресурсам сервера в отношении быстродействия и памяти по разным вычислительным установкам, используется модель...
-
Модель сервера базы данных - Теоретические основы информационных технологий
Развитием PDA-модели стала модель сервера базы данных. Ее сердцевиной является механизм хранимых процедур. В отличие от PDA-модели, определенные для...
-
Распределенная обработка данных - Банки и базы данных. Системы управления базами данных
В современных условиях работа пользователя с небольшой по объему БД, расположенной на одном компьютере, в монопольном режиме является нехарактерной....
-
Описание предметной области Для описания предметной области была использована методология IDEF0. IDEF0 -- (ICAM DEFinition language 0) -- Function...
-
Программная модель данных, получившая название "MapReduce", была создана несколько лет назад в компании Google, и там же была осуществлена первая...
-
Основные понятия распределенных баз данных Распределение баз данных - набор логических связанных между собой разделяемых данных (и их описаний), которые...
-
Модель удаленного доступа к данным - Теоретические основы информационных технологий
Модель удаленного доступа к данным основана на учете специфики размещения и физического манипулирования данных во внешней памяти для реляционных СУБД. В...
-
В данном пункте представлено описание подключенных систем к общей инфраструктуре ИС компании. В случае IBM SPSS: Вследствие того, что сбор данных с...
-
Система управления базами данных - Модели серверов баз данных
Система управления базами данных (СУБД) - это приложение, посредством которого осуществляется обработка базы данных пользователем или группой...
-
Системная архитектура проекта Архитектура данных При организации любой управленческой работы, в том числе и работы по управлению заказами клиентов, очень...
-
Разработка управляющих элементов G5, к которым относятся хранимые процедуры и триггеры, осуществляется на основе структуры базы данных D7 с учетом ее...
-
Модель данных - Модели серверов баз данных
Модель данных - это множество правил, посредством которых производится создание структуры данных в базе данных, производятся операции над данными, а...
-
Программное средство "Зарплата и управление персоналом" ПС "1С: Зарплата и управление персоналом 8.0" НАО "Вальмонт индастрис" (далее - ЗУП система)...
-
Компонент задачник является необходимой частью нейрокомпьютера вне зависимости от типа применяемых в нем нейронных сетей. Однако в зависимости от...
-
Организационная структура управления в рекламном агентстве "Софит" - Модели серверов баз данных
Организационная структура - это состав, взаимосвязь и соподчиненность самостоятельных управленческих подразделений и отдельных должностей. Сущность...
-
В этом разделе описаны запросы, выполняемых всеми компонентами, а также типы данных, используемые при описании запросов. Стандарт типов данных При...
-
Под сервером обычно понимают процесс, который обслуживает информационную потребность клиента. В различных архитектурах в качестве процесса может быть...
-
И программа, и базы данных расположены на одном компьютере. В такой архитектуре работает большинство настольных приложений. Файл - серверная архитектура...
-
Инфологические и даталогические модели данных - Теория экономических информационных систем
СУБД должна предоставлять доступ к данным любым пользователям, включая и тех, которые практически не имеют и (или) не хотят иметь представления о: -...
-
Уровни и типы моделей БД - Банки и базы данных. Системы управления базами данных
Любая БД отражает информацию об определенной предметной области. В зависимости от уровня абстракции, на котором представляется предметная область,...
-
Проектирование систем оперативного анализа данных Современные системы поддержки принятия решений и информационные системы руководителей основаны на...
-
Учебный процесс в ННГАСУ сопровождается значительной информационной базой, развитием компьютерного парка и внедрением в образовательный процесс...
-
Заключение, Список литературы - Инфологическая модель базы данных телекомуникационной компании
В любой организации, как большой, так и маленькой, возникает проблема такой организации управления данными, которая обеспечила бы наиболее эффективную...
-
Для сокращения объема передачи данных по каналам связи в распределенной информационной системе предлагается репликация данных, то есть тиражирование...
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Эффективность работы бизнеса напрямую зависит от эффективности работы ИТ. При внедрении новых проектов, связанных с развитием бизнеса, происходит...
-
Разработка концептуальной модели базы данных При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению...
-
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ ИМД основана на понятии деревьев, состоящих из вершин и ребер. Вершине дерева ставится в соответствие совокупности атрибутов...
-
Модель файлового сервера - Теоретические основы информационных технологий
Модель файлового сервера является наиболее простой и характеризует не столько способ образования информационной системы, сколько общий способ...
-
Распределенные базы данных - Теоретические основы информационных технологий
Системы распределенных вычислений появляются, прежде всего, по той причине, что в крупных автоматизированных информационных системах, построенных на...
-
Физические модели хранения данных определяют методы размещения данных в памяти компьютера или на соответствующих носителях информации, а также способы...
-
Физические модели БД - Банки и базы данных. Системы управления базами данных
Под физической моделью БД понимается способ размещения данных на устройствах внешней памяти и способ доступа к этим данным. Каждая СУБД по-разному...
-
Диаграмма сущность связь Диаграмма "сущность -- связь" (ER -- модель данных), которая обеспечивает способ определения данных и отношений между ними....
-
В процессе разработки программного средства было создано 12 таблиц. Для их создания использовалось графическое средство SqlYong и кодирование на языке...
-
Подсистема интеллектуального анализа данных используется специальной категорией пользователей-аналитиков, которые на основе ИХ обнаруживают...
-
2.1. ИСПДн класса К3 Заказчика характеризуются сосредоточенностью на территории занимаемого Заказчиком помещения без подключения к сетям общего...
-
Текущая инфраструктура компании совершенствуется, всегда появляются новые системны для подключения и внедрения. Инфраструктура построена на схеме...
-
За последние годы было разработано большое количество методологий и стандартов построения и описания различных уровней архитектуры организации, в том...
-
Обзор сетей передачи данных, Определение локальных сетей - Сеть абонентского доступа
Определение локальных сетей Способов и средств обмена информацией за последнее время предложено множество: от простейшего переноса файлов с помощью...
Виды архитектур распределенных баз данных - Модели серверов баз данных