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

"Объектные СУБД: состояние и перспективы"

Андреев А.А., к.т.н. доцент МГТУ им. Н.Э.Баумана,
Березкин Д.В., к.т.н.,
исполнительный директор НПЦ “Интелтек Плюс”,
Кантонистов Ю.А., разработчик.

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

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

Введение

Несмотря на то, что объектные базы существуют более десятка лет, это направление в СУБД считается новым и ставит перед исследователями множество теоретических проблем. Ключевой, конечно же, теория объектной модели данных. И даже не столько теория, сколько приемлемый по сложности математический аппарат для работы с объектами. Ведь почему реляционные обрели такую популярность? Оттого, что реляционная модель интуитивно понятна, а ее математическое описание довольно несложно. Есть сомнения относительно существования такой теории. Поиски продолжаются можно указать на работы Вона Кима, Ишикавы. Джим Фрай, объектно-документная веб. стоунбрейкеру.

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

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

Истоки

Объектные базы данных появились на свет поскольку появилась насущная необходимость решать задачи, связанные с обработкой и хранением сложных многосвязных данных, а также слабоструктурированной и неструктурированной информации: текст, изображение, музыка, вообще, любые данные, требующие специфической обработки. Объектная СУБД идеально подходит для интерпретации такого рода данных, в отличие от реляционных СУБД, где добавление нового типа данных достигается ценой потери производительности или за счет резкого увеличения сроков и стоимости разработки приложений. Научно-производственный центр “ИНТЕЛТЕК ПЛЮС”, ядро которого составляют выпускники и сотрудники МГТУ им. Н.Э. Баумана, занимается проблематикой объектных баз данных более пяти лет. Мы считаем, что именно технологии объектных СУБД удовлетворяют сегодняшним требованиям.

Сравнение объектного и объектно-реляционного подходов

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

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

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

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

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

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

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

Как правило, язык запросов объектной СУБД - разновидность реализации OQL - Object Query Language, языка, стандартизованного группой ODMG (Object Database Management Group). Он существенно отличается от SQL. Объектно-реляционные СУБД используют различные варианты расширений SQL с ограниченными объектными дополнениями.

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

Ядро объектной СУБД оптимизировано для операций с объектами. Ядро объектно-реляционной СУБД остается реляционным. "Объектность" реализуется в виде специальность надстройки.

Современные объектные базы

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

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

Jasmine ( компания Computer Associates ), наиболее известная объектная СУБД.

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

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

O2 ( компания Ardent Software )- живая "классика" среди объектных баз данных. Чаще используется в области телекоммуникаций и систем специального применения.

Российская объектная СУБД - ODB-Jupiter

Это оригинальная разработка научно-производственного центра "Интелтек Плюс". При разработке программы ставилось несколько целей: обработка неструктурированной информации, хранение документов сложной структуры, встроенная поддержка полнотекстового поиска, возможность расширения набора типов СУБД.

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

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

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

Прикладная программа СУБД ODB-Jupiter

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

Документальная информационно-поисковая система ODB-Text версии 3.0 - это корпоративное хранилище документов. Система построена по архитектуре клиент/сервер. Доступ к базе документов возможен из локальных сетей Windows, Windows NT, Novell, глобальных сетей по протоколу TCP/IP, в том числе из сети Интернет. ODB-Text существенно облегчает упорядочение и поиск информации в корпоративной сети Вашего предприятия, имеет средства построения отчетов.

Программный комплекс ODB-Text версии 3.0 имеет полноценные средства для работы в Интернет. Подключение к базе документов, поиск и просмотр реквизитов и текста документов при работе через броузер аналогичен работе через программу клиент.

Примеры применения ODB-Jupiter и ODB-Text

В настоящее время информационно-поисковая система ODB-Text установлена и успешно функционирует в Инфорамцинно-аналитическом управлении Совета Федерации, в Московском арбитражном суде, в высших учебных заведениях - Российском Государственном Гуманитарном Университете, Московском Независимом Эколого-Политологическом Университете, в Московском зоопарке, в Московской консерватории, а также в целом ряде других государственных и коммерчечких организаций. Из региональных пользователей можно выделить редакцию популярной новосибирской газеты "Молодость Сибири".

Планируется использование СУБД ODB-Jupiter для хранения знаний в экспертной юридической системе. Проект такой системы носит название “Минерва”. Предполагается, что эта система позволит анализировать потенциальные противоречия в нормативных актах.

Перспективы

Как представляется, есть несколько факторов, позволяющих сделать вывод о хороших перспективах объектных баз данных.

  • Объектные СУБД – открытые системы. Сравнительно несложно добавить новый тип данных. Сделать это несравненно проще, чем в Oracle или Informix. Это большой плюс поскольку открытые системы более привлекательны для конечных пользователей.
  • Большинство производителей объектных баз данных предоставляют визуальные средства создания прикладных программ объектной СУБД. Таким образом, если раньше созданием прикладных программ для объектной СУБД занимались в основном “зубры” – специалисты в C++, Smaltalk, то теперь пользоваться объектными свойствами базы стало намного проще.
  • Бум объектных средств моделирования. Совмещение объектного средства моделирования и объектной базы естественно в отличие от интеграции такого средства с реляционной СУБД.
  • Существует много областей, где применение реляционных баз нецелосообразно по разным причинам. Например, в прикладных программах САПР, телекоммуникациях встречаются многосвязные данные. Если хранить информацию в реляционной базе данных, то запросы будут выполняться недостаточно быстро. Объектные базы имеют отличные перспективы в прикладных задачах САПР, CASE, геодезии, финансах, телекоммуникациях, оборонной промышленности.

Заключение

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

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


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