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

       

применяется язык достаточно высокого уровня


Может быть, таким образом

удастся справиться с неизвестной оптимизатору алгеброй

определяемых пользователями типов.

По нашему мнению, если в системе для программирования методов

применяется язык достаточно высокого уровня (во всяком случае,

не Си), то при компиляции запроса могло бы производиться

частичное вычисление вызываемых в нем методов с последующим

преобразованием запроса к виду, когда условия определены на

атрибутах хранимых классов. После этого можно было производить

обычную оптимизацию запроса. Заметим, что это не было бы

нарушением инкапсуляции объектов, поскольку оптимизатор

является частью системы, для которой внутренняя организация

объектов БД открыта.

7. Особенности управления транзакциями в системах ООБД

Дела с управлением транзакциями в системах ООБД обстоят

примерно аналогично ситуации с оптимизацией запросов: как

правило, используются слегка модифицированные традиционные

методы сериализации транзакций, журнализации изменений

объектов, индивидуальных откатов транзакций и восстановления

состояния БД после сбоев. Фактически, как и в случае

оптимизации запросов, такое управление транзакциями

предполагает частичное нарушение инкапсуляции объектов:

синхронизация основывается на знании внутренней структуры

объектов, журнализация и восстановление - на знании природы

методов, изменяющих состояние объекта и т.д.

Какой-либо подход, в котором предлагался бы полный набор

средств управления транзакциями, полностью согласующийся с

парадигмой объектной ориентированностью, нам неизвестен. Одна

из наиболее продвинутых работ, проводимых в этом направлении в

рамках германского проекта VODAK, описывается в .

В основе управления транзакциями в системе VODAK находится

разработанный ранее в контексте инженерных СУБД механизм

транзакций со вложенными подтранзакциями : вызов любого

действия в объекте равносилен образованию новой

подстранзакции. В отличие от традиционного механизма вложенных

подтранзакций в данном случае заранее не определена


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