Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РБД 1-5.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
610.16 Кб
Скачать

Лекция 2 Типы параллелизма

Рассмотрим следующие программно-аппаратные способы распараллеливания запросов: горизонтальный, вертикальный смешанный параллелизм.

Горизонтальный параллелизм. Этот параллелизм возникает тогда, когда хранимая в БД информация распределяется по нескольким физическим устройствам хранения – нескольким дискам. При этом информация из одного отношения разбивается на части по горизонтали. Этот вид параллелизма иногда называют распараллеливанием, или сегментацией, данных. Параллельность достигается путем выполнения одинаковых операций, например фильтрации, над разными физическими хранимыми данными. Эти операции могут выполняться параллельно разными процессами – они независимы. Результат выполнения целого запроса складывается из результатов выполнения отдельных операций.

Время выполнения такого запроса при соответствующем сегментировании данных существенно меньше, чем время выполнения этого же запроса традиционными способами одним процессом.

Вертикальный параллелизм. Этот параллелизм достигается конвейерным выполнением операций, составляющих запрос пользователя. Этот подход требует серьезного усложнения модели выполнения реляционных операций ядром СУБД. Он предполагает, что ядро СУБД может произвести декомпозицию запроса, базируясь на его функциональных компонентах; при этом ряд подзапросов может выполняться параллельно, с минимальной связью между отдельными шагами выполнения запроса.

Рассмотрим следующую последовательность операций реляционной алгебры:

  1. R5 = R1[A,C]

  2. R6 = R2[A,B,D]

  3. R7 = R5[A>128]

  4. R8 = R5[A]R6

то операции первую и третью можно объединить и выполнить параллельно со второй операцией, а затем выполнить над результатами последнюю четвертую операцию.

Общее время выполнения подобного запроса, конечно, будет существенно меньше, чем при традиционном способе выполнения последовательности из четырех операций.

Рис. 1 Схема выполнения запроса при вертикальном параллелизме

Смешанный параллелизм. Этот параллелизм является гибридом двух ранее рассмотренных параллелизмов горизонтального и вертикального.

Рис.2 Схема выполнения запроса при смешанном параллелизме

Лекция 3 Основные технологии доступа к данным и типовые элементы доступа План изложения материала

  1. Технология COM: понятие и создание объекта, интерфейсы объекта, библиотека классов COM, фабрика классов, сервер объектных транзакций MTS.

  2. Технология CORBA: брокер объектных запросов, служба объектных транзакций.

  3. Составные части технологии MIDAS.

  4. Компоненты ADO и поставщики данных в OLE DB.

Структурная схема терминов

Технология com (component object model)

Эта технология описывает модель объекта и способы взаимодействия объектов и программ.

COM-объект напоминает компонент Delphi 5. Это законченный объект со своими свойствами и методами, который может легко встраиваться в приложения и распространяться как отдельный программный продукт.

Расширения технологии COM

  1. Серверы автоматизации, в частности OLE-автоматизация. Отличие COM от OLE состоит в возможности автоматического общения между компонентами COM и приложениями через базовый интерфейс, с помощью которого программа может выяснить, поддерживает тот или иной объект данную функцию или нет.

  2. Активные серверные страницы-файлы имеют расширение .asp.

  3. ActiveX-компоненты были первоначально созданы для распространения в Интернете. Представляют собой серверы COM, встраиваемые в приложения и имеющие средства своей визуальной настройки.

  4. Контроллеры автоматизации – это клиенты COM, которые управляют серверами автоматизации и имеют дополнительные возможности настройки управления.

  5. Библиотеки типов – хранят описания объектов и их интерфейсов.

  6. Активные документы (например, документы Word) поддерживают технологию OLE, методику перетаскивания и т.п.

  7. Визуальные мультипроцессорные объекты – это объекты COM, которые могут использоваться в одновременно выполняющихся процессах.

  8. Последняя версия технологии COM называется DCOM – распределенная технология COM. Она позволяет создавать COM-объекты, работающие на разных компьютерах в сети.

Составные части технологии COM

  1. Сервер COM – это законченный модуль кода .exe и .dll, где хранится код одного или нескольких компонентов COM.

  2. Клиент COM – это программный код, в котором происходит обращение к интерфейсу COM с запросом на выполнение услуг серверов COM. Клиент знает, что надо получить от сервера, но не знает, как это будет реализовано и где сервер находится физически.

  3. Интерфейс COM описывает методы и свойства, доступные программам, обращающимся к COM-объекту.

Объект COM может иметь один или несколько интерфейсов COM и содержит их описание и реализацию. Интерфейс COM позволяет клиентам COM общаться с COM-сервером на основе стандартного механизма публикаций интерфейса, т.е. стандартной регистрации в ОС, после которой изменения интерфейса недопустимы. Это гарантирует одинаковую работу COM-объекта в любых условиях.

У каждого объекта есть свой интерфейс, он называется IUnknown. Он позволяет узнать о наличии других интерфейсов, наследующих его характеристики. Любой COM-объект имеет GUID (глобальный идентификатор интерфейса) длиной 16 байт (он уникален и помогает избежать проблем при совпадении одинаковых имен), а также другие идентификаторы – на основе глобального IID.

GUID помогает избежать проблем при совпадении имен различных объектов.

COM-объект может быть реализован на любом языке программирования.

Сервер COM при обращении получает идентификатор класса, представляющий собой глобальный идентификатор интерфейса, который ссылается на подходящий COM-объект. Сервер COM создает специальный объект – "фабрику классов", – который занимается непосредственно производством экземпляра нужного объекта (создание и загрузка), а также экземпляра специального класса с именем Coclass, который обеспечивает возможность обращения к объекту COM.

Название объекта Coclass то же, что и объекта COM, только вместо первой буквы пишется Co.