
- •Современные исследования в области бд
- •1.Введение
- •1.1.Реляционные системы
- •Интеграция и интероперабельность
- •1.2.Постреляционные системы
- •Активные бд
- •Дедуктивные бд
- •Темпоральные бд
- •Субд следующего поколения
- •Объектно-ориентированные базы данных
- •1.3.Распределенные субд
- •Распределенные и параллельные системы баз данных
- •Обзор известных механизмов репликации данных (тиражирование)
- •Тиражирование слиянием
- •Тиражирование моментального снимка данных
- •Тиражирование транзакций
- •Обновление на подписчике
- •Распределенные транзакции
- •Общие замечания
- •Тиражирование в sql Server 7.0
- •Оперативная аналитическая обработка данных
- •Способы аналитической обработки данных
- •Оперативная аналитическая обработка данных
- •Интеллектуальный анализ данных
- •Интеграция olap и иад
- •Критерии оценки существующих продуктов
- •1. Общее понятие
- •1.1 Архитектуры управления данными
- •1.2 План работ в области пространств данных
- •2. Примеры
- •3. Пространства данных
- •3.1 Логические компоненты пространств данных
- •3.2 Сервисы пространства данных
- •3.3 Системы пространств данных
- •4. Исследовательские проблемы
- •4.1 Модели данных и запросы в dssp
- •4.2 Раскрытие пространства данных
- •4.3 Повторное использование человеческого труда
- •4.4 Хранение и индексирование пространств данных
- •4.5 Гарантии корректности
- •4.6 Теоретические основы
- •5. Перспективы
- •5.1 Связь с другими областями
- •5.2 Обучение пространствам данных
- •5.3 Промышленные перспективы
- •6. Заключение
Дедуктивные бд
По определению, дедуктивная БД состоит из двух частей: экстенциональной, содержащей факты, и интенциональной, содержащей правила для логического вывода новых фактов на основе экстенциональной части и запроса пользователя.
При таком общем определении любую SQL-ориентированную реляционную СУБД можно отнести к дедуктивным системам. Действительно, что из себя представляют определенные в схеме реляционной БД представления как не интенциональную часть БД.
Основным отличием настоящей дедуктивной СУБД от обычной реляционной является то, что и правила интенциональной части БД, и запросы пользователей могут содержать рекурсию. Именно возможность рекурсии делает реализацию дедуктивной СУБД очень сложной и во многих случаях эффективно неразрешимой проблемой.
Отметим, что обычно языки запросов и определения интенциональной части БД являются логическими (поэтому дедуктивные БД часто называют логическими). Имеется прямая связь дедуктивных БД с базами знаний (интенциональную часть БД можно рассматривать как БЗ). Более того, трудно провести грань между этими двумя понятиями; по крайней мере, общего мнения по этому поводу не существует.
Для реализации дедуктивной СУБД обычно применяется реляционная система. Такая система выступает в роли хранителя фактов и исполнителя запросов, поступающих с уровня дедуктивной СУБД. Между прочим, такое использование реляционных СУБД резко актуализирует задачу глобальной (или совместной) оптимизации запросов, потому что обычно при выполнении одного запроса уровня дедуктивной БД генерируется несколько запросов уровня реляционной БД.
В случае, когда набор правил дедуктивной БД становится велик и их невозможно разместить в оперативной памяти, возникает проблема управления их хранением и доступом к ним во внешней памяти. Здесь опять же может быть применена реляционная система, но уже не слишком эффективно. Требуются более сложные структуры данных и другие условия выборки. Известны частные попытки решить эту проблему, но общего решения пока нет.
Собственно говоря, «битва» в дедуктивных СУБД идет за реализацию лозунга: «Не хранить то, что можно вычислить».
Темпоральные бд
Обычные БД хранят мгновенный снимок модели предметной области. Любое изменение в момент времени t некоторого объекта приводит к недоступности состояния этого объекта в предыдущий момент времени. При этом в большинстве развитых СУБД предыдущее состояние объекта сохраняется в журнале изменений, но возможность доступа к этим данным для пользователей закрыта.
Конечно, можно явно ввести в хранимые отношения явный временной атрибут и поддерживать его значения на уровне приложений. Более того, в большинстве случаев так и поступают. Недаром в стандарте SQL существуют специальные типы данных date и time. Но в таком подходе имеется несколько недостатков: СУБД не знает семантики временного поля отношения и не может контролировать корректность его значений; появляется дополнительная избыточность хранения (предыдущее состояние объекта данных хранится и в основной БД, и в журнале изменений); языки запросов реляционных СУБД не приспособлены для работы со временем.
Существует отдельное направление исследований и разработок в области темпоральных БД. В этой области исследуются вопросы моделирования данных, языки запросов, организация данных во внешней памяти и т.д. Основной тезис темпоральных систем состоит в том, что для любого объекта данных, созданного в момент времени t1 и уничтоженного в момент времени t2, в БД сохраняются (и доступны пользователям) все его состояния во временном интервале [t1, t2).
Исследования и построения прототипов темпоральных СУБД обычно выполняются на основе некоторой реляционной СУБД. Как и в случае дедуктивных БД, темпоральная СУБД - это надстройка над реляционной системой. Конечно, это не лучший способ реализации с точки зрения эффективности, но он прост и позволяет производить достаточно глубокие исследования.
Одним из наиболее известных примеров постреляционной системы с темпоральными возможностями является СУБД Postgres, разработанная в университете г.Беркли, Калифорния под руководством М.Стоунбрейкера.
В этой системе, во-первых, не ведется обычная журнализация изменений базы данных, и мгновенно обеспечивается корректное состояние базы данных после перевызова системы с утратой состояния оперативной памяти. Во-вторых, система управления памятью поддерживает исторические данные. Запросы могут содержать временные характеристики интересующих объектов. Реализационно эти два аспекта связаны.