Основы современной информационной технологии составляют базы данных (БД) и системы управления базами данных (СУБД), роль которых как единого средства хранения, обработки и доступа к большим объемам информации постоянно возрастает. При этом существенным является постоянное повышение объемов информации, хранимой в БД, что влечет за собой требование увеличения производительности таких систем. Резко возрастает также в разнообразных применениях спрос на интеллектуальный доступ к информации. Это особенно проявляется при организации логической обработки информации в системах баз знаний, на основе которых создаются современные экспертные системы.
Быстрое развитие потребностей применений БД выдвигает новые требования к СУБД:
поддержка широкого спектра типов представляемых данных и операций над ними (включая фактографические, документальные, картинно-графические данные) ;
естественные и эффективные представления в БД разнообразных отношений между объектами предметных областей (например, пространственно-временных с обеспечением визуализации данных);
поддержка непротиворечивости данных и реализация дедуктивных БД;
обеспечение целостности БД в широком диапазоне разнообразных предметных областей и операционных обстановок;
управление распределенными БД, интеграция неоднородных баз данных;
существенное повышение надежности функционирования БД. Вместе с тем традиционная программная реализация многочисленных функций современных СУБД на ЭВМ общего назначения приводит к громоздким и непроизводительным системам с недостаточно высокой надежностью. Тем более затруднительным оказывается наращивание программных средств, обеспечивающих перечисленные выше требования. Это обусловлено рядом причин:
фон-неймановская архитектура ЭВМ неадекватна требованиям СУБД, в частности реализации поиска, обновления, защиты данных, обработки транзактов только программным способом неэффективны как по производительности, так и по стоимости;
многоуровневое и сложное программное обеспечение СУБД снижает эффективность и надежность функционирования БД;
универсальная ЭВМ оказывается перегруженной функциями управлениями базами данных, что снижает эффективность функционирования собственно прикладных систем;
централизация и интеграция данных в сетях персональных и профессиональных ЭВМ нереализуема с приемлемой стоимостью без включения в состав сетей специализированных ЭВМ для поддержки функции СУБД.
Эти соображения приводят к мысли о необходимости создания специализированных автономных информационных систем, ориентированных исключительно на реализацию функций СУБД. Однако системы, реализованные на обычной универсальной мини- или микроэвм, не способны полностью решить указанные проблемы. Необходим поиск новых архитектурных и аппаратных решений. Исследования в этом направлении привели к появлению-проектов и действующих прототипов машин баз данных, которые наряду с самостоятельным назначением составляют также основу вычислительных систем 5-го поколения. Машиной баз данных (МБД) принято называть аппаратно-программный мультимикропроцессорный комплекс, предназначенный для выполнения всех или некоторых функций СУБД.
Такие свойства реляционной модели данных, как возможность расчленения отношений на непересекающиеся группы, возможность массовой и параллельной обработки, простота и независимость данных в этой модели, а также наличие развитой теории реляционных баз данных и аппарата сведения к реляционной других моделей данных обусловили разработку МБД, ориентированных в основном на поддержку реляционных баз данных. В настоящее время очевидна правильность такого выбора в связи с установлением возможности оперировать объектами баз знаний на реляционном концептуальном уровне посредством операций реляционной алгебры.
Первые публикации по МВД появились в 1974 г., сейчас можно назвать более 50 проектов, некоторые уже реализованы в виде промышленных прототипов и являются коммерческими изделиями. Исследования по аппаратурной поддержке операций над базами данных проводятся и в нашей стране. Основными критериями для оценки того или иного проекта являются полнота выполняемых функций СУБД и ожидаемое повышение производительности при их выполнении. Это одинаково важно как для МБД, функционирующих совместно с главной ЭВМ в составе единой вычислительной системы, так и для МБД, являющейся узлом локальной сети (data computer). Во всех современных проектах и коммерческих МБД реализован полный объем функций СУБД. Повысить производительность, учитывая ограниченные скоростные характеристики современной элементной базы, можно только структурными методами (за счет структурного распараллеливания). В силу этого МБД являются специализированными параллельными вычислительными системами, и при их проектировании требуются единая методология сравнения и четкие критерии оценки производительности. В настоящее время ведутся интенсивные исследования в этой области.
Основными техническими приемами, применяемыми в структурных методах повышения производительности МВД, являются следующие:
использование многоканальных устройств массовой памяти (УМП) со встроенными в аппаратуру каналов процессорами поиска и фильтрации для уменьшения объемов перекачиваемых данных из УМП в обрабатывающие подсистемы;
использование буферизации между основной памятью обрабатывающих процессоров и УМП, которая не только сглаживает разницу в скоростях обработки данных и чтения их в УМП, но и уменьшает частоту обращения к УМП;
сегментация данных в УМП, которая увеличивает локальность доступа и улучшает эффект двух предыдущих методов; с этой целью предполагается развитие мультиатрибутной кластеризации и индексации данных в УМП и аппаратная их поддержка;
использование ассоциативной памяти в качестве буферной и соответствующих алгоритмов обработки данных;
развитие подсистем опережающей выборки данных в буферную память (стадирование данных) и оптимизация алгоритмов управления виртуальным пространством данных;
реализация режимов параллельной интерпретации каждой операции над БД (горизонтальный параллелизм типа SIMD) и режимов конвейерной и потоковой обработки не только операций, но и транзакций в целом;
функциональная специализация процессоров обработки и их аппаратная реализация в виде СБИС.
Основные направления развития структур МВД:
Можно выделить два обобщенных направления, в которых ведутся исследования по структурным методам повышения производительности МВД: многопроцессорные неоднородные (МН) и сетевые МВД. На рис. 1 приведены обобщенные топологические схемы таких МВД. Частным случаем МН МВД можно считать коммерческие МВД IDM-500, RS-310, iDBP 86/440, топологическая схема которых приведена на рис. 2.
Рис. 1. Топология двух классов МВД:
а - многопроцессорные неоднородные МВД с несколькими уровнями обработки
б - сетевые МВД
К МН МВД можно отнести большинство современных проектов МВД, таких как DELTA, GRACE, DSDBS, MPDC, SABRE и др. Основными особенностями МН МВД являются следующие.
1. Наличие нескольких уровней обработки данных, в частности, трех основных:
селекция и первичная фильтрация данных непосредственно в контрольных устройствах массовой памяти;
вторичная обработка, заключающаяся в реализации операций реляционной алгебры над вспомогательными отношениями, полученными на первом этапе;
/\ - универсальный обрабатывающий /__/ -коммуникационный процессор
процессор (серийный микропроцессор)
- специализированный - коммутирующее устройство (общая
обрабатывающий процессор шина, переключательная матрица,
О - локальная полупроводниковая память кольцевая коммутирующая шина,
коммутирующая сеть)
- буферная общедоступная память - Управляющий процессор (подсистема)
- устройство массовой памяти
с контроллером (НМД с контроллером)
Рис. 2. Топология коммерческих МБД
структурная обработка или обработка метаданных, заключающаяся в поддержке вспомогательных структур данных (индексация, мультиатрибутная кластеризация) .
2. Наличие системной буферной памяти (СБП) между первыми двумя уровнями обработки, в которой помещаются отношения или вспомогательные структуры данных, полученные на первом уровне обработки. Такая архитектура предполагает наличие опережающей выборки и подкачки данных из уровня первичной обработки (стадирование). СБП при этом обязательно должна быть двух или более портовой.
3. Наличие функционального параллелизма, при котором различные функции первичной и вторичной обработки реализуются на физически распределенной аппаратуре. При этом часть функциональных устройств реализуется на универсальных микропроцессорах, часть в виде спецаппаратуры (например, заказных СБИС). Функциональный параллелизм позволяет реализовать конвейерное выполнение транзакций и отдельных запросов. В более общих случаях для увеличения производительности допускается дублирование функциональных процессоров на наиболее трудоемких операциях.
В качестве наиболее типичных примеров таких МН МВД можно рассмотреть DELTA и GRACE. Японский проект МВД (рис. 3) лежит в основе вычислительной системы 5-го поколения. Действующий в настоящее время прототип состоит из двух подсистем: