Распределенная обработка данных. Найханова Л.В. - 96 стр.

UptoLike

Составители: 

96
Проект O2
Проект O2 выполнялся французской компанией Altair, образованной специально для
целей проектирования и реализации объектно-ориентированной СУБД. Начало проекта
датируется сентябрем 1986 г., и он был рассчитан на пять лет: три года на
прототипирование и два года на разработку промышленного образца. После успешного
завершения проекта для сопровождения системы и ее дальнейшего развития была
организована новая чисто коммерческая компания O2.
Прототип системы функционировал в режиме клиент/сервер в локальной сети
рабочих станций SUN c соответствующим разделением функций между сервером и
клиентами.
Основными компонентами системы (не считая развитого набора интерфейсных
средств) являются интерпретатор запросов и подсистемы управления схемой, объектами и
дисками. Управление дисками, т.е. поддержание базовой среды постоянного хранения
обеспечивает система WiSS, которую разработчики O2 перенесли в окружение ОС UNIX.
Наибольшую функциональную нагрузку несет компонент управления объектами. В
число функций этой подсистемы входят:
управление сложными объектами, включая создание и уничтожение объектов,
выборку объектов по именам, поддержку предопределенных методов, поддержку
объектов со внутренней структурой-множеством, списком и кортежем;
управление передачей сообщений между объектами;
управление транзакциями;
управление коммуникационной средой (на базе транспортных протоколов TCP/IP в
локальной сети Ethernet);
отслеживание долговременно хранимых объектов (напомним, что в O2 объект
хранится во внешней памяти до тех пор, пока достижим из какого-либо
долговременно хранимого объекта);
управление буферами оперативной памяти (аналогично ORION, представление
объекта в оперативной памяти отличается от его представления на диске);
управление кластеризацией объектов во внешней памяти;
управление индексами.
Несколько слов про управление транзакциями. Различаются режимы, когда
допускается параллельное выполнение транзакций, изменяющих схему БД, и когда
параллельно выполняются только транзакции, изменяющие внутренность БД. Первый
режим обычно используется на стадии разработки БД, второй - на стадии выполнения
приложений. Средства восстановления БД после сбоев и откатов транзакций также могут
включаться и выключаться. Наконец, поддерживается режим, при котором все постоянно
хранимые объекты загружаются в оперативную память при начале транзакции для
увеличения скорости работы прикладной системы.
Компонент управления схемой БД реализован над подсистемой управления
объектами: в системе поддерживаются несколько невидимых для программистов классов
и в том числе классы "Class" и "Method", экземплярами которых являются,
соответственно, объекты, определяющие классы, и объекты, определяющие методы. (Как
видно, ситуация напоминает реляционные системы, в которых тоже обычно
поддерживаются служебные отношения-каталоги, описывающие схему БД.) Удаление
класса, который не является листом иерархии классов или используется в другом классе
или сигнатуре какого-либо метода, запрещено.
Даже приведенное краткое описание особенностей двух объектно-ориентированных
СУБД показывает прагматичность современного подхода к организации таких систем. Их
разработчики не стремятся к полному соблюдению чистоты объектно-ориентированного
подхода и применяют наиболее простые решения проблем. Пока в сообществе
Проект O2
     Проект O2 выполнялся французской компанией Altair, образованной специально для
целей проектирования и реализации объектно-ориентированной СУБД. Начало проекта
датируется сентябрем 1986 г., и он был рассчитан на пять лет: три года на
прототипирование и два года на разработку промышленного образца. После успешного
завершения проекта для сопровождения системы и ее дальнейшего развития была
организована новая чисто коммерческая компания O2.
     Прототип системы функционировал в режиме клиент/сервер в локальной сети
рабочих станций SUN c соответствующим разделением функций между сервером и
клиентами.
     Основными компонентами системы (не считая развитого набора интерфейсных
средств) являются интерпретатор запросов и подсистемы управления схемой, объектами и
дисками. Управление дисками, т.е. поддержание базовой среды постоянного хранения
обеспечивает система WiSS, которую разработчики O2 перенесли в окружение ОС UNIX.
     Наибольшую функциональную нагрузку несет компонент управления объектами. В
число функций этой подсистемы входят:

     • управление сложными объектами, включая создание и уничтожение объектов,
       выборку объектов по именам, поддержку предопределенных методов, поддержку
       объектов со внутренней структурой-множеством, списком и кортежем;
   • управление передачей сообщений между объектами;
   • управление транзакциями;
   • управление коммуникационной средой (на базе транспортных протоколов TCP/IP в
       локальной сети Ethernet);
   • отслеживание долговременно хранимых объектов (напомним, что в O2 объект
       хранится во внешней памяти до тех пор, пока достижим из какого-либо
       долговременно хранимого объекта);
   • управление буферами оперативной памяти (аналогично ORION, представление
       объекта в оперативной памяти отличается от его представления на диске);
   • управление кластеризацией объектов во внешней памяти;
   • управление индексами.
     Несколько слов про управление транзакциями. Различаются режимы, когда
допускается параллельное выполнение транзакций, изменяющих схему БД, и когда
параллельно выполняются только транзакции, изменяющие внутренность БД. Первый
режим обычно используется на стадии разработки БД, второй - на стадии выполнения
приложений. Средства восстановления БД после сбоев и откатов транзакций также могут
включаться и выключаться. Наконец, поддерживается режим, при котором все постоянно
хранимые объекты загружаются в оперативную память при начале транзакции для
увеличения скорости работы прикладной системы.
     Компонент управления схемой БД реализован над подсистемой управления
объектами: в системе поддерживаются несколько невидимых для программистов классов
и в том числе классы "Class" и "Method", экземплярами которых являются,
соответственно, объекты, определяющие классы, и объекты, определяющие методы. (Как
видно, ситуация напоминает реляционные системы, в которых тоже обычно
поддерживаются служебные отношения-каталоги, описывающие схему БД.) Удаление
класса, который не является листом иерархии классов или используется в другом классе
или сигнатуре какого-либо метода, запрещено.
     Даже приведенное краткое описание особенностей двух объектно-ориентированных
СУБД показывает прагматичность современного подхода к организации таких систем. Их
разработчики не стремятся к полному соблюдению чистоты объектно-ориентированного
подхода и применяют наиболее простые решения проблем. Пока в сообществе

96