Научно-производственный центр Интелтек Плюс

Доклад "Объектная база данных ODB-Jupiter"

Научно-производственный центр "Интелтек Плюс" занимается проблематикой объектных баз данных несколько лет. Очень часто мне и моим коллегам приходилось объяснять отличия объектных баз от реляционных. Смею надеяться, я смогу понятно и нескучно рассказать про это еще раз. Этому вопросу посвящена первая часть моего доклада. Вторая часть - рассказ о разработке НПЦ "Интелтек Плюс" - объектной СУБД ODB-Jupiter и прикладной программе ODB-Text.

Начнем с ключевого вопроса: а зачем они вообще нужны, эти объектные базы данных? Ведь есть много хорошо зарекомендовавших себя реляционных баз, которые можно использовать. Ответ весьма прост: да, все верно, но реляционные базы пригодны для вполне определенного и ограниченного круга задач. В основном это задачи, связанные с обработкой хорошо структурированной информации. Задачи, данные которых хорошо ложатся на реляционные структуры и реляционные отношения. Задачи, решение которых сводится к выборке данных из базы, их обработке и обновлению.

Если же встречаются неструктурированные данные: текст, изображение, музыка, вообще, любые данные, требующие специфической обработки, если есть задача, в которой присутствуют данные с многомерными связями, то применению объектной СУБД просто нет разумной альтернативы.

Например, мультимедиа данные должны быть сперва интерпретированы, прежде чем с ними можно будет работать. Например, знание внутренней структуры растрового изображения необходимо для изменения его размеров, получения негатива, наконец, для показа изображения на экране.

Еще один важный момент - объем документов в неструктурированных файлах (текст, изображения и т.п.) и оценивается в 90 % от общего объема информации. Объектная СУБД идеально подходит для интерпретации сложных данных, в отличие от реляционных СУБД, где добавление нового типа данных достигается ценой потери производительности или за счет резкого увеличения сроков и стоимости разработки приложений.

Любая СУБД основывается на определенной модели данных. С конца 70-х годов наибольшую популярность получила реляционная модель данных. Реляционные СУБД и поныне играют главенствующую роль на мировом рынке СУБД. В то же время в последнее десятилетие окрепла и набрала силу тенденция применения объектных средств проектирования и разработки. Реакцией производителей реляционных СУБД на возрастающую популярность объектных технологий стало появление объектно-реляционных баз данных, так называемых универсальных серверов. По нашему мнению - это половинчатое решение, диктуемое чисто рыночными интересами. Ядро универсального сервера (Informix, Oracle, DB2), несмотря на существование объектных расширений, и возможностей добавления новых типов данных, остается ориентированным на работу с реляционными данными, что отрицательно сказывается на производительности, вынуждая СУБД всякий раз производить сборку/разборку объектов при обмене с хранилищем. Еще один существенный недостаток объектно-реляционных баз заключается в том, что добавлений новых типов данных - это по сути расширение ядра сервера. Это модификация тщательно отлаженного, оптимизированного механизма, последствия такой операции трудно просчитываются.

Сравнение объектной и объектно-реляционной модели данных

В связи с широким распространением универсальных серверов, которые построены на основе объектно-реляционной модели, скажу несколько слов о сопоставлении этой модели объектной.

Модель данных.

В объектных СУБД используется объектная модель. В реляционных – табличная, реляционная модель данных. Много говорят об отсутствии общепризнанной объектной модели данных. По нашему мнению, это является фактором, тормозящим развитие объектных СУБД, но никак не отменяющим их вовсе.

Новые типы данных.

Объектная база, в отличие от реляционной, не требует модификации ядра при добавлении нового типа данных. Новый класс и его экземпляры просто поступают во внешние структуры базы данных. Система управления ими остается без изменений.

Расширение типов универсального сервера (Informix, Oracle) требует сертификации дополнительных модулей (datablades, cartridges), их специального тестирования и вставки в ядро СУБД. IBM даже оставляет за собой исключительное право выпуска расширений типов для СУБД DB/2. Очевидно, что постоянные модификации ядра отлаженного оптимизированного любого программного продукта, а тем более СУБД, не самый лучший путь наращивания функциональных возможностей пользовательских приложений.

Язык СУБД и запросы.

В объектных базах язык описания объектов и запросов унифицирован с базовым языком программирования, например, с C++, Smalltalk, Java. Дополнительно предоставляется язык объектных запросов OQL, который является SQL-подобным, но он не полностью совместим с SQL2. Язык манипуляции данными ObjectSQL 100% совместим с SQL2. В ObjectSQL существенно ограничены возможности объектно-ориентированного программирования.

Оптимизация ядра СУБД.

Ядра объектных СУБД изначально оптимизированы под использование объектов. Ядра объектно-реляционных СУБД оптимизированы для выполнения операций над таблицами. Неясно насколько успешно объектно-реляционные систему управления базами данных справляются с запросами, в которые вовлечено большое число пользовательских объектов.

СУБД ODB-Jupiter.

Это оригинальная разработка научно-производственного центра "Интелтек Плюс".

При разработке программы ставилось несколько целей: обработка неструктурированной информации, хранение документов сложной структуры, встроенная поддержка полнотекстового поиска с возможностью расширения.

СУБД ODB-Jupiter оперирует объектами. Особенностью реализации СУБД является тот факт, что непосредственно в базе данных хранятся данные объектов. Они запоминаются в файлах базы данных как блоки двоичной информации. Для представления данных в объектном виде существует отдельный уровень представления данных – объектный уровень. Это расширяемый набор динамических библиотек, в которых содержатся реализации основных типов данных. Среди основных типов строка, целое и вещественное число, текст, дата, время, хранилище объектов OLE. Расширение мощности типов данных возможно путем регистрации динамических библиотек, поддерживающих новые форматы данных.

Клиентом СУБД может быть как любая программа, использующая клиентскую библиотеку, так и броузер Интренет. Существенное отличие в их работе заключается в том, что пользователь броузера не может производить операции изменения над документами базы.

Разработана прикладная программа СУБД - документальная информационно-поисковая система ODB-Text. Широкие поисковые возможности плюс коллективная работа с документами. ODB-text - хорошая иллюстрация возможностей поиска по запросам на естественном языке и обработке неструктурированной информации и поискового механизма.

Другие объектные базы.

Возможно, Вы являетесь пользователем объектной СУБД, не подозревая об этом. Если для просмотра Интернет-узлов Вы пользуетесь Netscape'ом, то на Вас работает модуль сохранения объектов Java - ObjectStore PSE, разработанный компанией ObjectDesign.

POET - сравнительно недорогая и скромная по запросам к ресурсам объектная база данных.

Одна из особенностей СУБД POET - компактность. Ядро базы данных занимает около 1 Мб. Ее можно рекомендовать к использованию в среде Windows, Windows NT. Необходимо отметить, что POET имеет как собственную среду разработки, так и средства стыковки интерфейса базы с популярными компиляторами C++ компаний Borland и Microsoft. Помимо этого, программный интерфейс поддерживает Java, Visual Basic, Active/X-элементы.

Jasmine, о котором еще будет идти речь сегодня. Будучи одной из новейших объектных баз данных, вобрала в себя опыт предыдущих работ, добавив много нужных для объектного программирования новшеств. Как коммерческий продукт, пожалуй, имеет наибольший потенциал на рынке СУБД, тем более учитывая, что его продвигает Computer Associates. СУБД снабжена визуальной средой разработки Jasmine Studio, которая отличается удобным, продуманным и интуитивно понятным интерфейсом

С использованием СУБД VERSANT реализован целый ряд крупных проектов (в первую очередь в области телекоммуникаций).

СУБД O2 чаще используется в области телекоммуникаций и систем специального применения.

Заключение

На сайте www.inteltec.ru расположено много материалов по объектным базам данных. Если у Вас есть информация по тематике объектного проектирования, объектных СУБД или искусственного интеллекта, то мы с удовольствием опубликуем ее в нашем ИНТЕЛТЕК-ИЗДАТЕЛЬСТВЕ. Объектные базы - направление информационных технологий, эффективное в САПР, геодезии, финансах, телекоммуникациях, оборонной промышленности.

ИНТЕЛТЕК ИЗДАТЕЛЬСТВО Обьектные технологии


© НПЦ "ИНТЕЛТЕК ПЛЮС", 1997-2006, E-mail: publish@inteltec.ru