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

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

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

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

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

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

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

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

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

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

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

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