Разработка систем с объектно-ориентированными БД началась в середине 1980-х гг. Попытки использования технологий реляционных БД (РБД) в таких сложных приложениях, как автоматизированное проектирование (computer aided design, CAD), автоматизированное производство (computer aided manufacturing, CAM), технологии программирования, системы, основанные на знаниях, мультимедийные и другие системы, выявили существенные ограничения, присущие системам, ориентированным на использование РБД. Причиной появления объектно-ориентированных БД (ООБД) и объектно-ориентированных СУБД (ООСУБД) была потребность в более близком и полном представлении и моделировании сущностей реального мира, поскольку они потенциально способны обеспечить гораздо более развитую модель данных, нежели традиционные РБД. Актуальность развития ООСУБД на современном этапе во многом обусловлена расширяющимся использованием реализованных в сети Интернет технологий; громадные массивы разнородных данных (тексты, графика, видео и звук), представленных посредством Web- страниц, целесообразно хранить в ООБД в виде подготовленных к использованию наборов объектов, что обеспечивает снижение времени выполнения запросов очередных Web-страниц.
|
|
В объектно-ориентированной модели данных любая сущность реального мира представляется всего одной универсальной категорией — объектом. С объектом ассоциируется его состояние и поведение. Состояние объекта определяется значениями его свойств (атрибутов) или связями между самим объектом и другими объектами. Поведение объекта определяется набором операций, которые могут быть выполнены над объектом или самим объектом. Объекты, обладающие схожими свойствами и поведением, группируются в классы; при этом объект может быть экземпляром одного или нескольких классов. Классы организуются в иерархии классов.
ООСУБД обслуживает БД, каждая из которых содержит определенное множество объектов. Ядро ООСУБД изначально оптимизировано для эффективного выполнения операций с объектами (разделение прав доступа к конкретным объектам, ведение версий объектов, выборку данных из объектов в соответствии с заданными условиями отбора и др.) Для объектно-реляционной СУБД ядро системы остается реляционным, а ее объектные свойства реализуются в виде специализированной надстройки над реляционной СУБД. Для ООСУБД в целом характерно более высокое быстродействие при выполнении операций, требующих доступа и получения данных, находящихся внутри объектов, по сравнению с реляционными СУБД, для которых необходимость выборки связанных данных ведет к выполнению дополнительных внутренних операций.
|
|
При работе с ООБД используются две группы языков запросов. В одной группе объединяются языки, развивающие возможности языка SQL (например, язык OQL — Object Query Language). Относительно новая группа языков запросов XML QL (или XQL) базируется на языке XML.
Объектно-ориентированные системы обладают рядом особенностей:
• возможностью определения пользователями новых объектов, отображающих структуры данных в сложных задачах;
• меньшей потребностью в соединениях между объектами за счет неявных соединений, порождаемых иерархической вложенностью объектов, что упрощает навигацию по структурам объектов в ООБД;
• более высокой производительностью при выполнении некоторых приложений (например, приложений с многократной навигацией по загруженным в основную память связанным объектам);
• поддержкой различных версий проекта и др.
В то же время для таких систем характерны следующие недостатки:
• малое число развитых средств обеспечения запросов и средств оптимизации запросов, что во многом объясняется сложностью используемых объектно-ориентированных моделей данных;
• сложность обеспечения информационной безопасности;
• ограниченные возможности управления производительностью системы со стороны системного администратора и др.
Объектно-ориентированные технологии находят широкое применение при проектировании ИС, осуществляемом с использованием современных CASE-инструментов.
В настоящее время на рынке представлено свыше двух десятков систем ООСУБД: GemStone, ONTOS, ObjectStore, Versant, Jasmine, ODB-Jupiter (первая отечественная разработка) и др. Фактически большинство существующих ООБД являются не столько объектно- ориентированными БД, сколько системами стабильного хранения данных для некоторого объектно-ориентированного языка программирования.
В целом потенциальные возможности объектно-ориентированной модели данных более естественным образом отображать свойства объектов и процессов реального мира позволяют многим экспертам обоснованно высказывать мнение о больших перспективах использования объектно-ориентированных систем в различных областях деятельности.