Принципы реализации машин БД
Принципы реализации машин БД
Основы современной информационной технологии составляют базы данных
(БД) и системы управления базами данных (СУБД), роль которых как единого
средства хранения, обработки и доступа к большим объемам информации
постоянно возрастает. При этом существенным является постоянное повышение
объемов информации, хранимой в БД, что влечет за собой требование
увеличения производительности таких систем. Резко возрастает также в
разнообразных применениях спрос на интеллектуальный доступ к информации.
Это особенно проявляется при организации логической обработки информации в
системах баз знаний, на основе которых создаются современные экспертные
системы.
Быстрое развитие потребностей применений БД выдвигает новые требования к
СУБД:
поддержка широкого спектра типов представляемых данных и операций над ними
(включая фактографические, документальные, картинно-графические данные) ;
естественные и эффективные представления в БД разнообразных отношений между
объектами предметных областей (например, пространственно-временных с
обеспечением визуализации данных);
поддержка непротиворечивости данных и реализация дедуктивных БД;
обеспечение целостности БД в широком диапазоне разнообразных предметных
областей и операционных обстановок;
управление распределенными БД, интеграция неоднородных баз данных;
существенное повышение надежности функционирования БД. Вместе с тем
традиционная программная реализация многочисленных функций современных СУБД
на ЭВМ общего назначения приводит к громоздким и непроизводительным
системам с недостаточно высокой надежностью. Тем более затруднительным
оказывается наращивание программных средств, обеспечивающих перечисленные
выше требования. Это обусловлено рядом причин:
фон-неймановская архитектура ЭВМ неадекватна требованиям СУБД, в частности
реализации поиска, обновления, защиты данных, обработки транзактов только
программным способом неэффективны как по производительности, так и по
стоимости;
многоуровневое и сложное программное обеспечение СУБД снижает эффективность
и надежность функционирования БД;
универсальная ЭВМ оказывается перегруженной функциями управлениями базами
данных, что снижает эффективность функционирования собственно прикладных
систем;
централизация и интеграция данных в сетях персональных и профессиональных
ЭВМ нереализуема с приемлемой стоимостью без включения в состав сетей
специализированных ЭВМ для поддержки функции СУБД.
Эти соображения приводят к мысли о необходимости создания
специализированных автономных информационных систем, ориентированных
исключительно на реализацию функций СУБД. Однако системы, реализованные на
обычной универсальной мини- или микроэвм, не способны полностью решить
указанные проблемы. Необходим поиск новых архитектурных и аппаратных
решений. Исследования в этом направлении привели к появлению-проектов и
действующих прототипов машин баз данных, которые наряду с самостоятельным
назначением составляют также основу вычислительных систем 5-го поколения.
Машиной баз данных (МБД) принято называть аппаратно-программный
мультимикропроцессорный комплекс, предназначенный для выполнения всех или
некоторых функций СУБД.
Такие свойства реляционной модели данных, как возможность расчленения
отношений на непересекающиеся группы, возможность массовой и параллельной
обработки, простота и независимость данных в этой модели, а также наличие
развитой теории реляционных баз данных и аппарата сведения к реляционной
других моделей данных обусловили разработку МБД, ориентированных в основном
на поддержку реляционных баз данных. В настоящее время очевидна
правильность такого выбора в связи с установлением возможности оперировать
объектами баз знаний на реляционном концептуальном уровне посредством
операций реляционной алгебры.
Первые публикации по МВД появились в 1974 г., сейчас можно назвать более 50
проектов, некоторые уже реализованы в виде промышленных прототипов и
являются коммерческими изделиями. Исследования по аппаратурной поддержке
операций над базами данных проводятся и в нашей стране. Основными
критериями для оценки того или иного проекта являются полнота выполняемых
функций СУБД и ожидаемое повышение производительности при их выполнении.
Это одинаково важно как для МБД, функционирующих совместно с главной ЭВМ в
составе единой вычислительной системы, так и для МБД, являющейся узлом
локальной сети (data computer). Во всех современных проектах и коммерческих
МБД реализован полный объем функций СУБД. Повысить производительность,
учитывая ограниченные скоростные характеристики современной элементной
базы, можно только структурными методами (за счет структурного
распараллеливания). В силу этого МБД являются специализированными
параллельными вычислительными системами, и при их проектировании требуются
единая методология сравнения и четкие критерии оценки производительности. В
настоящее время ведутся интенсивные исследования в этой области.
Основными техническими приемами, применяемыми в структурных методах
повышения производительности МВД, являются следующие:
использование многоканальных устройств массовой памяти (УМП) со встроенными
в аппаратуру каналов процессорами поиска и фильтрации для уменьшения
объемов перекачиваемых данных из УМП в обрабатывающие подсистемы;
использование буферизации между основной памятью обрабатывающих процессоров
и УМП, которая не только сглаживает разницу в скоростях обработки данных и
чтения их в УМП, но и уменьшает частоту обращения к УМП;
сегментация данных в УМП, которая увеличивает локальность доступа и
улучшает эффект двух предыдущих методов; с этой целью предполагается
развитие мультиатрибутной кластеризации и индексации данных в УМП и
аппаратная их поддержка;
использование ассоциативной памяти в качестве буферной и соответствующих
алгоритмов обработки данных;
развитие подсистем опережающей выборки данных в буферную память
(стадирование данных) и оптимизация алгоритмов управления виртуальным
пространством данных;
реализация режимов параллельной интерпретации каждой операции над БД
(горизонтальный параллелизм типа SIMD) и режимов конвейерной и потоковой
обработки не только операций, но и транзакций в целом;
функциональная специализация процессоров обработки и их аппаратная
реализация в виде СБИС.
Основные направления развития структур МВД:
Можно выделить два обобщенных направления, в которых ведутся исследования
по структурным методам повышения производительности МВД: многопроцессорные
неоднородные (МН) и сетевые МВД. На рис. 1 приведены обобщенные
топологические схемы таких МВД. Частным случаем МН МВД можно считать
коммерческие МВД IDM-500, RS-310, iDBP 86/440, топологическая схема которых
приведена на рис. 2.
[pic]
Рис. 1. Топология двух классов МВД:
а - многопроцессорные неоднородные МВД с несколькими уровнями обработки
б - сетевые МВД
К МН МВД можно отнести большинство современных проектов МВД, таких как
DELTA, GRACE, DSDBS, MPDC, SABRE и др. Основными особенностями МН МВД
являются следующие.
1. Наличие нескольких уровней обработки данных, в частности, трех основных:
селекция и первичная фильтрация данных непосредственно в контрольных
устройствах массовой памяти;
вторичная обработка, заключающаяся в реализации операций реляционной
алгебры над вспомогательными отношениями, полученными на первом этапе;
[pic]
/\ - универсальный обрабатывающий /__/ -коммуникационный
процессор
процессор (серийный микропроцессор)
- специализированный -
коммутирующее устройство (общая
обрабатывающий процессор шина,
переключательная матрица,
О - локальная полупроводниковая память кольцевая коммутирующая
шина,
коммутирующая сеть)
- буферная общедоступная память - Управляющий
процессор (подсистема)
- устройство массовой памяти
с контроллером (НМД с контроллером)
Рис. 2. Топология коммерческих МБД
структурная обработка или обработка метаданных, заключающаяся в поддержке
вспомогательных структур данных (индексация, мультиатрибутная
кластеризация) .
2. Наличие системной буферной памяти (СБП) между первыми двумя уровнями
обработки, в которой помещаются отношения или вспомогательные структуры
данных, полученные на первом уровне обработки. Такая архитектура
предполагает наличие опережающей выборки и подкачки данных из уровня
первичной обработки (стадирование). СБП при этом обязательно должна быть
двух или более портовой.
3. Наличие функционального параллелизма, при котором различные функции
первичной и вторичной обработки реализуются на физически распределенной
аппаратуре. При этом часть функциональных устройств реализуется на
универсальных микропроцессорах, часть в виде спецаппаратуры (например,
заказных СБИС). Функциональный параллелизм позволяет реализовать
конвейерное выполнение транзакций и отдельных запросов. В более общих
случаях для увеличения производительности допускается дублирование
функциональных процессоров на наиболее трудоемких операциях.
В качестве наиболее типичных примеров таких МН МВД можно рассмотреть DELTA
и GRACE. Японский проект МВД (рис. 3) лежит в основе вычислительной системы
5-го поколения. Действующий в настоящее время прототип состоит из двух
подсистем:
[pic]
подсистемы вторичной обработки в составе четырех реляционных процессоров
(РП), одного процессора управления (УП), одного коммуникационного
процессора (КП) и одного процессора технического обслуживания (НТО),
выполняющего функции диагностики системы, поддержки БД, связи с операторам
и т. п.;
подсистемы иерархической памяти (ИЛ), содержащей системную буферную
память (электронный кэш-диск емкостью 128 Мбайт), массовую память с восемью
НМД (с контроллером магнитного диска КМД) общей емкостью 20 Гбайт и
четырьмя НМЛ (с контроллером магнитной ленты - КМЛ) , а также универсальную
микроэвм в качестве управляющего процессора иерархической памяти (УПИП) и
процессора ввода-вывода (ПЕВ). Связь между подсистемами осуществляется
высокоскоростным каналом со стандартным интерфейсом со скоростью передачи
до 3 Мбайт/с. Все процессоры подсистемы вторичной обработки подключаются к
этому каналу посредством ПВВ через специальные адаптеры иерархической
памяти (АИП).
Основным функциональным узлом МЕД DELTA является реляционный процессор (РП)
баз данных, назначение которого-выполнение операций реляционной алгебры над
отношениями произвольного объема с высокой производительностью. Каждый из
четырех РП может выполнять отдельную операции:
процессора (КП) и одного процессора технического обслуживания (НТО),
выполняющего функции диагностики системы, поддержки БД, связи с оператором
и т. п.;
подсистемы иерархической памяти (ИЛ), содержащей системную буферную
память (электронный кэш-диск емкостью 128 Мбайт), массовую память
с восемью НМД (с контроллером магнитного диска КМД) общей емкостью
20 Гбайт и четырьмя НМЛ (с контроллером магнитной ленты - КМЛ) , а так
же универсальную микроэвм в качестве управляющего процессора иерархической
памяти (УДИЛ) и процессора ввода-вывода (НЕЕ). Связь между подсистемами
осуществляется высокоскоростным каналом со стандартным интерфейсом со
скоростью передачи до 3 Мбайт/с. Все процессоры подсистемы вторичной
обработки подключаются к этому каналу посредством ПВВ через специальные
адаптеры иерархической памяти (АИП).
Основным функциональным узлом МЕД DELTA является реляционный
процессор (РП) баз данных, назначение которого-выполнение операций
реляционной алгебры над отношениями произвольного объема с высокой
производительностью. Каждый из четырех РП может выполнять отдельную
операцию реляционной алгебры независимо от других или все они могут
выполнять одну операцию параллельно (например, сортировку отношений в ИЛ).
РП имеет регулярную структуру (см. рис. 3) для облегчения его реализации в
виде СБИС. Кроме этого он в своем составе имеет центральный процессор (ЦП)
с памятью 512 Кбайт для реализации операций с обширной логикой (например,
агрегатных функций типа min, mах и т. п.). Для облегчения входного (ВП) и
выходного (ВЫП) потока данных РП содержит два адаптера иерархической памяти
(АИП), а также входной модуль для подготовки кортежей отношений (например,
перестановки значений атрибутов). Собственно операция реляционной алгебры
реализуется в РП. Процессор слияния (ПСЛ) сортированных сегментов отношений
предназначен для слияния сортированных сегментов отношений, а также в нем
реализуются операции естественного соединения двух отношений и селекции
отношения. Двенадцать процессоров сортировки (ПСО) предназначены для
реализации конвейерной однопроходовой сортировки сегмента отношения объемом
64 Кбайт. ПСО и ПСЛ реализованы полностью аппаратно.
Иерархическая память в DELTA является наиболее сложной подсистемой, в
функции которой входят:
управление СЕЛ и УМП;
стадирование данных (в виде сегментов отношений) из УМП в СБП в
соответствии с заявками РП;
селекция и вертикальная фильтрация отношений при помещении их в СБП с
привлечением специального (атрибутного) метода хранения отношений в УМП;
поддержка индексных структур, кластеризация отношений в УМП и организация с
их помощью быстрого поиска в УМП.
[pic]
Рис. 4. Структурная схема МВД GRACE
Вторым примером МН МВД является также японский проект GRACE, структурная
схема которого приведена на рис. 4. СБП реализована здесь набором
электронных дисков на цилиндрических магнитных доменах. В качестве УМП
использованы многоканальные НМД, в каждый канал которых встроены, кроме
устройств чтения-записи (Уч/з), процессоры первичной обработки, названные
фильтрами потока кортежей (ФПК). Каждый ФПК содержит:
процессор фильтрации (ПФ), осуществляющий в пределах дорожки МД
собственно псевдоассоциативный поиск кортежей, удовлетворяющих заданному
условию;
процессор проекции (ПП) и преобразования кортежей;
процессор хэширования (ПХ), реализующий динамическую сегментацию
кортежей читаемого отношения.
Фильтр потока кортежей работает в конвейерном режиме и позволяет
обрабатывать поступающие из УМП кортежи со скоростью их чтения (обработка
«в полете»).
На уровне вторичной обработки применяются процессоры вторичной
обработки (ПВО) и ФПК. Назначение ФПК - выполнять описанную выше обработку
кортежей результирующих отношений, поступающих из ПВО в СЕЛ. ПВО содержит
наряду с процессором реляционной алгебры (ПРА), реализованным на основе
универсального микропроцессора со своей локальной памятью, также аппаратный
процессор сортировки отношений (ПСО) и процессор выдачи результата (ПВР) в
канал главной ЭВМ. ПСО осуществляет потоковую сортировку сегмента
отношения, поступающего из банка СЕЛ в процессор реляционной алгебры.
Двухпортовые банки СЕЛ подсоединяются к процессорам обработки обоих уровней
посредством специальных петлевых шин (СПШ). Эти многоканальные шины с
разделением времени осуществляют на каждом уровне обработки коммутацию
любого процессора обработки к любому банку памяти и одновременную обработку
нескольких банков памяти.
Отличительными особенностями данного проекта являются следующие
структурные решения.
1. Метод опережающей подкачки кортежей из УМП в СБП сочетает здесь не
только с первичной фильтрацией, но и со специальным распределением кортежей
по банкам СЕЛ. Эта так называемая динамическая хэш-сегментация позволяет
выполнять операции реляционной алгебры на уровне вторичной обработки
параллельно и без обменов несколькими ПPA, так что каждый ПРА реализует
бинарную операцию над парой соответствующих сегментов отношений-операндов.
Это является одним из источников повышения производительности МБД при
выполнении операций реляционной алгебры.
2. Включение в цикл вторичной обработки фильтров потока кортежей,
используемых в цикле первичной обработки, позволяет обрабатывать
промежуточные отношения в СБП, так же как и исходные отношения БД,
единообразно интерпретировать последовательность операций реляционной
алгебры. Таким образом, выполнение транзакции, соответствующей сложному
запросу к реляционной БД, заключается в многократном выполнении циклов
первичной и вторичной обработки.
3. Предварительная и параллельная фильтрация данных со скоростью их
поступления из УМП позволяет снизить объем перемещаемых из УМП в СБП
данных, что является существенным источником повышения производительности
МБД в целом. Этот механизм используется во многих (если не во всех)
проектах МН МБД и считается признанным решением.
Как показали многочисленные исследования, СУБД не может быть
эффективной, если большая часть ее работает под управлением операционной
системы общего назначения. Поэтому повышение эффективности МБД связано с
полной изоляцией СУБД в рамках МВД, т. е. реализацией функционално-полных
МВД, выполняющих все функции управления транзакциями. Учитывая сложность
соответствующей операционной системы МБД, реализовать функционально полную
Страницы: 1, 2, 3
|