Однако, основной бич объектных баз данных — система именования объектов. Да, вы можете получить и изучить иерархию объектов и классов, схему наследования и переопределения свойств для конкретного класса объектов хранения, но этого мало… Поскольку основным идентификатором объекта является его имя, а не свойства (!), манипуляция экземплярами классов затруднена: это уже не таблицы, а более сложные структуры данных. А значит, решение исследовательских задач, связанных со сравнением свойств объектов, в таких БД затруднено (ведь речь идет уже не о сравнении величин, а о сравнении объектов, структура которых может и различаться). А сами объектные базы данных в большей степени пригодны для решения задач синтеза, то есть, работ типа проектирования, но не для анализа. Хотя, если рассматривать ИАР как целостный цикл работы с информацией, то становится понятно, в чем именно заключается привлекательность объектных баз данных с точки зрения аналитика — они представляют собой инструмент подготовки и проведения имитационного моделирования и проверки гипотез. Но, к сожалению, классические объектные БД не могут выступать в роли инструмента анализа, проводимого по схеме восхождения от общего к частному и обратно.
Жаль… А ведь как привлекательна идея «данные, модели и методы в одном флаконе»! Так и хочется спросить: «Девушка, а у вас такого же, но с перламутровыми пуговицами не найдется?». Что ж, Технология — девушка запасливая: есть у нее и «с перламутровыми»…
Поиски путей согласования системного подхода с компьютерными технологиями хранения, поиска и обработки данных привели к разработке еще двух технологий: объектно-реляционной модели организации хранения данных и модели гетерогенных хранилищ данных (или хранилищ данных — Data Warehouse). Однако по порядку…
Объектно-реляционные базы данны1хПарадигма объектно-реляционных БД объединяет основные преимущества реляционных СУБД и некоторые, унаследованные от объектных СУБД. Заметим, что «объектность» в объектно-реляционных СУБД иная, нежели в объектных СУБД — объектом в них являются данные (именно для манипуляций над ними разрабатываются методы), а не семантика связей реального мира. Это позволяет, с одной стороны, использовать механизмы наследования и переопределения, обращения к объектам с применением специализированных методов, а с другой — решать сложные аналитические задачи, связанные с логическим анализом значений атрибутов.
Одним из представителей этого класса систем является СУБД IBM DB2, обеспечивающая работу с различными классами данных, включая и классы, определенные пользователем. В ней предусмотрен ряд полезных возможностей: анализ совместимости типов данных и указание правил оперирования данными (например, исключающих возможность появления квадратных долларов при умножении стоимости на стоимость и т. д.), указания внешних ссылок на ресурсы, хранимые вне БД, создания лингвистических индексов (по Г.К. Зипфу) для больших текстовых массивов и иные. Не так уж и много, но и немало.
Конечно, такие возможности несколько разочаровывают, но при совершении некоторого «интеллектуального насилия» над СУБД, заключающегося в использовании механизма подключаемых внешних процедур, объектно-реляционная система приобретает те свойства, которые могут быть чрезвычайно полезны при создании информационно-аналитических систем. Например, может быть определен объект типа «модель», правила обращения с которым будут определены во внешних процедурах, что позволит использовать такую БД в качестве системы хранения компонентов моделей, или объектов типа «сценарий», что также весьма ценно… В этом случае СУБД сможет выступать в роли системы, которая помимо функции хранения данных сможет выполнять функции диспетчера, координирующего работу множества прикладных процессов, инициируемых событиями, обработка которых предусмотрена данной СУБД (например, вставка новой записи, изменение данных и т. д.).
Хранилища данных