- •Архитектуры удаленных баз данных
- •Основные понятия и определения.
- •Базовые архитектуры распределенной обработки данных
- •Двухуровневые модели
- •Модель удаленного управления данными (Модель «файл-сервер»)
- •Модель удаленного доступа к данным
- •Модель сервера баз данных
- •3.1. Архитектура «выделенный сервер баз данных»
- •3.2. Архитектура «активный сервер баз данных»
- •4. Модели серверов бд.
- •4.1 Архитектура модели «один к одному»
- •4.2. Архитектура модели многопотоковая односерверная
- •4.3. Архитектура виртуального сервера
- •4.4. Многопотоковая мультисерверная архитектура
- •Модель сервера приложений
- •Лекция 2 Типы параллелизма
- •Лекция 3 Основные технологии доступа к данным и типовые элементы доступа План изложения материала
- •Структурная схема терминов
- •Технология com (component object model)
- •Создание распределенных приложений на базе dCom
- •Технология corba (общая архитектура брокеров объектных запросов)
- •Технология midas
- •Доступ к данным по технологии ado
- •Технологии ado.Net
- •Технологии ado .Net. Доступ к данным
- •Ado .Net. Объектная модель
- •События класса DataTable
- •Листинг 1: html, txt
- •Лекция 4
- •Введение в работу с удаленными бд. Cервер бд InterBase
- •Введение
- •Структурная схема терминов
- •Физическая организация базы данных формата InterBase
- •Типы данных в таблицах InterBase
- •Организация сеанса связи с удаленной бд
- •Утилиты для работы с удаленными бд в Delphi
- •Лекция 5
- •Синтаксические особенности языка sql
- •Операции с индексами
- •Просмотры View
- •Создание бд
- •Создание и использование доменов
4. Модели серверов бд.
4.1 Архитектура модели «один к одному»
Рис.6. Архитектура модели «один к одному»
В данной модели сервер обслуживает запрос только одного клиента, а для обслуживания каждого запроса запускается отдельный серверный процесс.
4.2. Архитектура модели многопотоковая односерверная
Рис.7 Архитектура модели многопотоковая односерверная
В данной модели сервер единственный облает монополией на управление данными и взаимодействует одновременно со многими клиентами. Логический клиент связан с сервером отдельной нитью, или потоком, по которому пересылаются запросы. Такая архитектура позволяет значительно уменьшить нагрузку на операционную систему, возникающую при работе большого числа пользователей.
Кроме того, возможность взаимодействия многих клиентов с одним сервером позволяет в полной мере использовать разделяемые объекты, что значительно уменьшает потребности в памяти и общее число процессов ОС.
Недостатком такого решения является то, что серверный процесс может выполняться только на одном процессоре, возникает естественное ограничение на применение СУБД для мультипроцессорных платформ.
4.3. Архитектура виртуального сервера
Рис.8. Архитектура виртуального сервера
В данной модели сервера клиенты подключаются не к реальному серверу, а к промежуточному звену, называемому диспетчером, который выполняет только функции диспетчеризации запросов к серверам. В этом случае нет ограничений на использование много процессорных платформ. Число серверов может быть согласовано с числом процессоров в системе. Однако и в этой архитектуре имеются недостатки, потому что здесь в систему добавляется новый слой, который размещается между клиентом и сервером, что увеличивает потребность в ресурсах на поддержку баланса загрузки серверов и ограничивает возможности управления взаимодействием клиент – сервер.
1. Становиться невозможным направить запрос от конкретного клиента конкретному серверу;
2. Серверы становятся равноправными, так как нет возможности устанавливать приоритеты для обслуживания запросов.
4.4. Многопотоковая мультисерверная архитектура
Рис. 9 Многопотоковая мультисерверная архитектура
Такая архитектура обеспечивает распараллеливание выполнения одного пользовательского запроса несколькими серверными процессами.
Модель сервера приложений
Рис.10. Модель сервера приложений
В этой модели компоненты приложения делятся между тремя исполнителями: клиентом, сервером, сервером БД.
Клиент обеспечивает логику представления, включая графический пользовательский интерфейс, локальные редакторы; клиент может запускать локальный код приложения клиента, который может содержать обращения к локальной БД, распложенной на компьютере-клиенте. Клиент исполняет коммуникационные функции front-end части приложения, которые обеспечивают доступ клиенту в локальную или глобальную сеть. Дополнительно реализация взаимодействия между клиентом и сервером может включать в себя управление распределенными транзакциями, что соответствует тем случаям, когда клиент также является менеджером распределенных транзакций.
Серверы приложений составляют новый промежуточный уровень архитектуры. Серверы приложений поддерживают функции клиентов как частей взаимодействующих рабочих групп, поддерживают сетевую доменную операционную среду, хранят и исполняют наиболее общие правила бизнес–логики, поддерживают каталоги с данными, обеспечивают обмен сообщениями и поддержку запросов в распределенных транзакциях.
Серверы БД. Занимаются исключительно функциями СУБД: обеспечивают функции создания и ведения БД, поддерживают целостность реляционной БД, обеспечивают функции хранилищ данных. На них возлагаются функции создания резервных копий БД и восстановление БД после сбоев, управление выполнением транзакций и поддержки устаревших.
Данная модель обладает большей гибкостью, чем двухуровневые модели.
Преимущества модели сервера приложений заметны в тех случаях, когда клиенты выполняют сложные аналитические расчеты над БД, которые относятся к области JLAP-приложений. Здесь большая часть бизнес-логики изолирована от возможностей встроенного SQL, реализованного в конкретной СУБД, и может быть выполнена на языках программирования. Это повышает переносимость системы, ее масштабируемость.
К другим достоинствам трехзвездной архитектуры можно отнести:
централизованное ведение бизнес-логики, и в случае внесения изменения отсутствие необходимости их тиражирования в клиентских приложениях;
отсутствие необходимости устанавливать на клиентских машинах компоненту программного обеспечения управления доступом к данным;
возможность отложенного обновления БД в случае изменения данных, запрошенных с сервера, в автономном режиме. Данные будут обновлены в базе после следующего соединения клиентской программы с сервером приложений.
