ВУЗ:
Составители:
Рубрика:
95
Примеры объектно-ориентированных СУБД
В настоящее время ведется очень много экспериментальных и производственных
работ в области объектно-ориентированных СУБД. Больше всего университетских работ,
которые в основном носят исследовательский характер. Но уже несколько лет назад
отмечалось существование по меньшей мере тринадцати коммерчески доступных систем
ООБД. Среди них уже упоминавшиеся в нашем обзоре системы O2, ORION, GemStone и
Iris.
Рассмотрим особенности организации двух из них - ORION и O2.
Проект ORION
Проект ORION осуществлялся с 1985 по 1989 г. фирмой MCC под руководством
известного еще по работам в проекте System R Вона Кима. Под названием ORION на
самом деле скрывается семейство трех СУБД: ORION-1 - однопользовательская система;
ORION-1SX, предназначенная для использования в качестве сервера в локальной сети
рабочих станций; ORION-2 - полностью распределенная объектно-ориентированная
СУБД. Реализация всех систем производилась с использованием языка Common Lisp на
рабочих станциях (и их локальных сетях) Symbolics 3600 с ОС Genera 7.0 и SUN-3 в среде
ОС UNIX.
Основными функциональными компонентами системы являются подсистемы
управления памятью, объектами и транзакциями. В ORION-1 все компоненты,
естественно, располагаются на одной рабочей станции; в ORION-1SX - разнесены между
разными рабочими станциями (в частности, управление объектами производится на
рабочей станции-клиенте). Применение в ORION-1SX для взаимодействия клиент-сервер
механизма удаленного вызова процедур позволило использовать в этой системе
практически без переделки многие модули ORION-1. Сетевые взаимодействия
основывались на стандартных средствах операционных систем.
В число функций подсистемы управления памятью входит распределение внешней
памяти, перемещение страниц из буферов оперативной памяти во внешнюю память и
наоборот, поиск и размещение объектов в буферах оперативной памяти (как принято в
объектно-ориентированных системах, поддерживаются два представления объектов -
дисковое и в оперативной памяти; при перемещении объекта из буфера страниц в буфер
объектов и обратно представление объекта изменяется). Кроме того, эта подсистема
ответственна за поддержание вспомогательных индексных структур, предназначенных
для ускорения выполнения запросов.
Подсистема управления объектами включает подкомпоненты обработки запросов,
управления схемой и версиями объектов. Версии поддерживаются только для объектов,
при создании которых такая необходимость была явно указана. Для схемы БД версии не
поддерживаются; при изменении схемы отслеживается влияние этого изменения на
другие компоненты схемы и на существующие объекты. При обработке запросов
используется техника оптимизации, аналогичная применяемой в реляционных системах
(т.е. формируется набор возможных планов выполнения запроса, оценивается стоимость
каждого из них и выбирается для выполнения наиболее дешевый).
Подсистема управления транзакциями обеспечивает традиционную сериализуемость
транзакций, а также поддерживает средства журнализации изменений и восстановления
БД после сбоев. Для сериализации транзакций применяется разновидность двухфазного
протокола синхронизационных захватов с различной степенью гранулированности.
Конечно, при синхронизации учитывается специфика ООБД, в частности, наличие
иерархии классов. Журнал изменений обеспечивает откаты индивидуальных транзакций и
восстановление БД после мягких сбоев (архивные копии БД для восстановления после
поломки дисков не поддерживаются).
Примеры объектно-ориентированных СУБД
В настоящее время ведется очень много экспериментальных и производственных
работ в области объектно-ориентированных СУБД. Больше всего университетских работ,
которые в основном носят исследовательский характер. Но уже несколько лет назад
отмечалось существование по меньшей мере тринадцати коммерчески доступных систем
ООБД. Среди них уже упоминавшиеся в нашем обзоре системы O2, ORION, GemStone и
Iris.
Рассмотрим особенности организации двух из них - ORION и O2.
Проект ORION
Проект ORION осуществлялся с 1985 по 1989 г. фирмой MCC под руководством
известного еще по работам в проекте System R Вона Кима. Под названием ORION на
самом деле скрывается семейство трех СУБД: ORION-1 - однопользовательская система;
ORION-1SX, предназначенная для использования в качестве сервера в локальной сети
рабочих станций; ORION-2 - полностью распределенная объектно-ориентированная
СУБД. Реализация всех систем производилась с использованием языка Common Lisp на
рабочих станциях (и их локальных сетях) Symbolics 3600 с ОС Genera 7.0 и SUN-3 в среде
ОС UNIX.
Основными функциональными компонентами системы являются подсистемы
управления памятью, объектами и транзакциями. В ORION-1 все компоненты,
естественно, располагаются на одной рабочей станции; в ORION-1SX - разнесены между
разными рабочими станциями (в частности, управление объектами производится на
рабочей станции-клиенте). Применение в ORION-1SX для взаимодействия клиент-сервер
механизма удаленного вызова процедур позволило использовать в этой системе
практически без переделки многие модули ORION-1. Сетевые взаимодействия
основывались на стандартных средствах операционных систем.
В число функций подсистемы управления памятью входит распределение внешней
памяти, перемещение страниц из буферов оперативной памяти во внешнюю память и
наоборот, поиск и размещение объектов в буферах оперативной памяти (как принято в
объектно-ориентированных системах, поддерживаются два представления объектов -
дисковое и в оперативной памяти; при перемещении объекта из буфера страниц в буфер
объектов и обратно представление объекта изменяется). Кроме того, эта подсистема
ответственна за поддержание вспомогательных индексных структур, предназначенных
для ускорения выполнения запросов.
Подсистема управления объектами включает подкомпоненты обработки запросов,
управления схемой и версиями объектов. Версии поддерживаются только для объектов,
при создании которых такая необходимость была явно указана. Для схемы БД версии не
поддерживаются; при изменении схемы отслеживается влияние этого изменения на
другие компоненты схемы и на существующие объекты. При обработке запросов
используется техника оптимизации, аналогичная применяемой в реляционных системах
(т.е. формируется набор возможных планов выполнения запроса, оценивается стоимость
каждого из них и выбирается для выполнения наиболее дешевый).
Подсистема управления транзакциями обеспечивает традиционную сериализуемость
транзакций, а также поддерживает средства журнализации изменений и восстановления
БД после сбоев. Для сериализации транзакций применяется разновидность двухфазного
протокола синхронизационных захватов с различной степенью гранулированности.
Конечно, при синхронизации учитывается специфика ООБД, в частности, наличие
иерархии классов. Журнал изменений обеспечивает откаты индивидуальных транзакций и
восстановление БД после мягких сбоев (архивные копии БД для восстановления после
поломки дисков не поддерживаются).
95
Страницы
- « первая
- ‹ предыдущая
- …
- 93
- 94
- 95
- 96
- 97
- …
- следующая ›
- последняя »
