Поддержка долговременных транзакций

В современных реляционных СУБД для поддержания непротиворечивости базы данных используется механизм упорядочивания операций параллельно выполняемых транзакций. В некоторых ООСУБД для управления долговременными транзакциями, типичными для сложных специализированных приложений баз данных, используется другой тип протокола. Как уже говорилось в разделе 21.1, это преимущество является спорным, потому что нет никакой причины (связанной со структурой), по которой работа с такими транзакциями не может быть организована в реляционной СУБД.

Применимость для сложных специализированных приложений баз данных

Есть несколько прикладных областей, где применение традиционных СУБД не позволяет достичь успеха, например в автоматизированном проектировании (CAD), автоматизированной разработке программ (САБЕ), в офисных информационных системах (OIS) и мультимедиа-системах. Заложенные в ООСУБД возможности моделирования делают их особенно удобными для применения в этих классах приложений.

Недостатки

Ниже перечислены основные недостатки, свойственные ООСУБД:

1. Отсутствие универсальной модели данных.

2. Недостаточность опыта эксплуатации.

3. Отсутствие стандартов.

4. Влияние оптимизации запросов на инкапсуляцию.

5. Влияние блокировки на уровне объекта на производительность.

6. Сложность.

7. Отсутствие поддержки представлений.

8. Недостаточность средств обеспечения безопасности.

Отсутствие универсальной модели данных

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

Недостаточность опыта эксплуатации

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

Отсутствие стандартов

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

Влияние оптимизации запросов на инкапсуляцию

Для оптимизации запросов и организации эффективного доступа к базе данных необходимо обладать знаниями об особенностях реализации. Однако при этом нарушается принцип инкапсуляции.

Влияние блокировки на уровне объекта на производительность

Во многих СУБД блокировка используется как основа построения протоколов управления параллельностью. Однако применение блокировки на уровне объекта может вызвать проблемы с блокировкой в отношении иерархии наследования, а также оказать существенное влияние на общую производительность системы.

Сложность

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