лекции1Сетевые базы данных.ppt
- Количество слайдов: 52
Сетевые базы данных
План Распределенная обработка информации
Термины и определения Системы управления удаленными (распределенными) базами дан ных Архитектура БД Модели данных Ядро базы данных Пользователь БД Запрос Транзакция Поддержка распределенной транзакции Распределенный запрос
Распределенные системы обработки информации
Архитектуры удаленных баз данных.
Режимы работы с базой данных. Однопользовательский Последовательный С централизованной базой данных С распределенной базой данных
Структура типичного приложения, работающего с БД.
Двухуровневые модели.
Модель файл-сервера.
Модель «выделенный сервер баз данных»
Модель активного сервера.
Для разгрузки сервера была предложена 3 уровневая модель сервера:
Модели серверов баз данных. Взаимодействие серверных и клиентских процессов в модели один к одному
Многопотоковая односерверная архитектура.
Недостатки: Т. к. сервер может выполняться только на одном процессоре, возникает ограничение на применение СУБД для мультипроцессорных платформ. Например, если компьютер имеет 4 процессора, то СУБД с одним сервером использует только один из них, не загружая оставшиеся три. В некоторых системах эта проблема решается вводом промежуточного диспетчера - архитектура виртуального сервера.
Архитектура виртуального сервера.
В этой архитектуре клиент подключается не к реальному серверу, а к промежуточному звену (диспетчеру), который выполняет функции диспетчеризации запросов к актуальным сервера. Количество актуальных серверов может быть согласовано с количеством процессоров в системе. Недостатки: - невозможно направить запрос от конкретного клиента к конкретному серверу. - серверы становятся равноправными, т. е. нет возможности устанавливать приоритеты для обслуживания запросов.
Современное решение проблемы СУБД для мультипроцессорных платформ заключается в возможности запуска нескольких серверов БД, в том числе и на различных процессорах. При этом каждый из серверов должен быть многопотоковым. Данная модель называется многопотоковая (многонитевая) мультисерверная архитектура. Она связана с вопросами распараллеливания выполнения одного пользовательского запроса несколькими серверными процессами.
Многопотоковая мультисерверная архитектура.
Серверные архитектуры с параллельной обработкой запроса В мультисерверной архитектуре для повышения оперативности используют два подхода: 1. Размещение хранимых данных БД на нескольких физических носителях (сегментирование БД). Для обработки запроса в этом случае запускается несколько серверных процессоров
2. Запрос обрабатывается по конвейерной технологии. Для этого запрос разбивается на взаимосвязанные по результатам подзапросы. Полученные результаты объединяются согласно схеме декомпозиции запроса и передаются клиенту. Эту модель называют моделью вертикального параллелизма
Выполнение запроса при вертикальном параллелизме
Гибридный параллелизм. Эти методы позволяют существенно сократить время выполнения сложных запросов над очень большими объемами данных. Выполнение запроса при гибридном параллелизме.
Гибридная модель позволяет сократить общее время обслуживания запроса, что особенно важно при работе с большими БД и аналитической обработке (OLAP -приложения)
Технологии и средства доступа к удаленным БД I. Программное обеспечение распределенных приложений. II Доступ к БД в моделях «клиент сервер»
I. Программное обеспечение распределенных приложений. Главная цель создания корпоративной системы – получить « единый образ» общего состояния системы Основа такой инфраструктуры - так называемое промежуточное ПО
Вычислительная среда распределенных приложений может включать в себя различные ОС, аппаратные платформы, коммуникационные протоколы и разнообразные средства разработки. / соответственно форматы данных в различных узлах будут различаться / Т. о. в распределённой неоднородной среде ПО промежуточного уровня играет роль «информационной шины» , надстроенной над сетевым уровнем и обеспечивающей доступ приложения к разнородным ресурсам. Рассмотрим структурную схему компонент поддержки удаленного доступа
Структура компонент поддержки удаленного доступа
ПО промежуточного уровня можно разделить на 2 е-категории: 1) ПО доступа к данным (ОDBC – интерфейсы, SQL шлюзы) 2) ПО межмодульного взаимодействия системы, реализующей ü вызов удаленных процедур RPC (Remote Procedure CALL) ; ü мониторы обработки транзакций(ТР мониторы); ü средства интеграции распределенных объектов.
II Доступ к БД в моделях «клиент сервер» В простых 2 х-звенных моделях «К-С» в роли ПО доступа к данным могут выступать обычные ODBC драйверы. В разнородных системах между клиентом и сервером БД размещается промежуточное звено SQL шлюз, который представляет собой набор общих API (Application programming interface Интерфейс программирования приложений) , позволяющих разработчику строить унифицированные запросы к разнородным данным (в форме SQL или с помощью ODBC интерфейса)
Каждое приложение построенное на основе архитектуры «К-С» , включает. , как минимум 2 е- части: - клиентскую часть; - серверную часть. Приложение создается с помощью языков высокого уровня (С++, Delphi, Vbasic, …) В исходный текст программы включаются SQL – выражения (для выборки и изменения БД)
Способы организации доступа прикладной программы к серверу базы данных в двухзвенной архитектуре
1 Использование библиотек доступа , встраиваемого SQL Каждая СУБД кроме интерактивной SQLутилиты обязательно имеет библиотеку процедур доступа и набор драйверов СУБД для различных операционных систем.
Схема взаимодействия клиентского приложения с сервером базы данных
Типичный набор функций такой библиотеки включает: соединение с БД; запрос к БД на выполнение SQL-выражения; запрос на извлечение данных; запрос на изменение данных; закрытие соединения с БД. Одним из вариантов модификации данного способа является использование «встроенного SQL»
Недостатки: разработка клиентской программы возможна только для той ОС и на том языке программирования, в которых поддерживается библиотека; драйвер БД определяет допустимые типы сетевых интерфейсов; библиотечные функции обычно неунифицированы.
2 Программный интерфейс уровня вызовов Технологическая основа CLI (Call Level Interface)– размещаемая на компьютере клиента специальная библиотека, хранящая вызовы процедур и сетевых компонентов для организации связи с сервером. Это ПО поставляется обычно в составе среды разработки и поддерживает разнообразные сетевые протоколы.
3 Открытый интерфейс доступа к базам данных Спецификация открытого интерфейса баз данных (ODBC – Open Database Connectivity), предназначена для унификации доступа к данным, размещённым на удалённых серверах. ODBC опирается на спецификации CLI.
Основные технологии доступа к данным и типовые элементы доступа. 1. Технология COM (component object model) Эта технология описывает модель объекта и способы взаимодействия объектов и программ. COM–объект напоминает компонент Delphi 5. Это законченный объект со своими свойствами и методами, который может легко встраиваться в приложения и распространяться как отдельный программный продукт.
Расширения технологии COM 1) серверы автоматизации, в частности OLE – автоматизация. Отличие OLE и COM состоит в возможности автоматического общения между компонентами COM и приложениями через базовый интерфейс, с помощью которого программа может выяснить поддерживает тот или иной объект данную функцию или нет. 2) Активные серверные страницы файлы имеют расширение. asp. 3) Active. X компоненты были первоначально созданы для распространения в Интернете. Представляют собой серверы COM, встраиваемые в приложения и имеющие средства своей визуальной настройки.
4) Контроллеры автоматизации - это клиенты COM, которые управляют серверами автоматизации, и имеют дополнительные возможности настройки управления. 5) Библиотеки типа – хранят описания объектов и их интерфейсов. 6) Активные документы (например, документы Word) поддерживают технологию OLE, методику перетаскивания и т. п. 7) Визуальные мультипроцессорные объекты – это объекты COM, которые могут использоваться в одновременно выполняющихся процессах. Последняя версия технологии COM называется DCOM – распределенная технология COM. Она позволяет создавать COM – объекты, работающие на разных компьютерах в сети.
Составные части технологии COM 1) Сервер COM – это законченный модуль кода. exe и. dll, где хранится код одного или нескольких компонентов COM. 2) Клиент COM – это программный код, в котором происходит обращение к интерфейсу COM с запросом на выполнение услуг серверов COM. Клиент знает, что надо получить от сервера, но не знает, как это будет реализовано, и где сервер находится физически. 3) Интерфейс - COM описывает методы и свойства, доступные программам, обращающимся к COM – объекту.
лекции1Сетевые базы данных.ppt