Классика баз данных - статьи

       

Bubba


Прототип Bubba был реализован на основе мультипроцессора FLEX/32 с 40 узлами и 40 дисками [4]. Хотя сам мультипроцессор обладает общей памятью, Bubba проектировалась как система без совместного использования ресурсов, и общая память используется только для передачи сообщений.

Узлы разделены на три группы: интерфейсные процессоры (Interface Processors) для общения с процессорами внешней главной машины и координации выполнения запросов, интеллектуальные хранилища (Intelligent Repositories) для хранения данных и выполнения запросов и хранилища контрольных точек и журнальной информации (Checkpoint\Logging Repositories).

Хотя в системе Bubba также используются разделение в качестве механизма хранения данных (используются диапазонное и хэшированное разделения) и механизмы обработки потоков данных, система обладает несколькими уникальными особенностями. Во-первых, в качестве интерфейсного языка используется FAD, а не SQL. FAD является расширенным реляционным языком программирования, поддерживающим стабильно хранимые данные. FAD обеспечивает поддержку сложных объектов с помощью нескольких конструкторов типов, включающих возможности использования разделяемых подобъектов, ориентированных на множества примитивов манипулирования данными и более традиционные языковые конструкций. На компилятор FAD возложена обязанность в соответствии с разделением требуемых объектов данных распознавать операции, которые могут быть выполнены параллельно. Выполнение программ основывается на парадигме потока данных. Задача компилирования и распараллеливания FAD-программ значительно труднее, чем задача распараллеливания реляционного запроса.

Другая особенность Bubba – использование одноуровневого механизма хранения, когда стабильная база данных в каждом узле отображается в адресное пространство виртуальной памяти каждого процесса, выполняющегося в этом узле. Это отличается от традиционного подхода с применением файлов и страниц. Аналогичные механизмы используются в AS400 компании IBM при отображении основанных на языке SQL баз данных в виртуальную память, в системах компании HP – при отображении Image Database в виртуальное адресное пространство операционной системы и в отображаемой в виртуальную память файловой системы, реализованной в операционной системе Mach [34]. Такой подход позволил упростить реализацию верхних уровней программного обеспечения Bubba.



Содержание  Назад  Вперед