Объектные базы данных

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Объектные базы данных были рассмотрены в начале 1980-х годов.

Обзор[править | править вики-текст]

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

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

Некоторые объектно-ориентированные базы данных предназначены для работы с объектно-ориентированными языками программирования, такими как Delphi, Ruby, Python, Perl, Java, C #, Visual Basic .NET, C ++, Objective-C и Smalltalk; другие имеют свои собственные языки программирования. ООСУБД использует точно такую же модель, как объектно-ориентированные языки программирования.

История[править | править вики-текст]

Системы управления базами данных объектов выросла из исследования, которое проводилось в начале-середине 1970-х годов, на наличие внутренней поддержки управления базами данных для графических структурированных объектов. Термин "объектно-ориентированная база данных" впервые появился в 1985 году благодаря известным исследовательским проектам таким как Encore-Ob/Server (Brown University), EXODUS (University of Wisconsin–Madison), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer Technology Corporation or MCC), Vodak (GMD-IPSI) и Zeitgeist (Texas Instruments).Проект ORION имел больше опубликованных материалов, чем любой другой. Вон Ким из MCC составил один из лучших документов в книге, изданной MIT Press.

Ранние коммерческие продукты включают Gemstone (Servio Logic, переименованный в GemStone Systems), GBASE (Graphael), и VBASE (Ontologic).С начала до середины 1990-х годов на рынок начали поступать дополнительные коммерческие продукты. К ним относятся ITASCA (Itasca Systems), Jasmine(Fujitsu, продукт Computer Associates), Matisse (Matisse Software), Objectivity/DB (Objectivity, Inc.), ObjectStore (Progress Software, приобретенный у EXCELON которая первоначально была объектом проектирования), Ontos (Ontos, Inc., переименованная в Ontologic), O2 (O2 Technology, объединённая с несколькими компаниями, приобретенными Informix, которые, в свою очередь, были приобретены IBM), POET(ныне FastObjects из Versant, купивший Poet Software), Versant Object Database (Versant Corporation), VOSS (Logic Arts) и JADE (Jade Software Corporation). Некоторые из этих продуктов остаются на рынке и обросли новыми открытыми системами, основанными на исходном коде и коммерческими продуктами, такими как InterSystems Caché.

Системы управления объектными базами данных дополнили понятие постоянства объекта в языках программирования. Первые коммерческие продукты были интегрированы с различными языками: GemStone (Smalltalk), Gbase (LISP), Vbase (COP) и VOSS (Virtual Object Storage System for Smalltalk). На протяжении большей части 1990-х годов язык программирования C++ был преобладающим на рынке управления объектными базами данных. Java добавился в конце 1990-х годов, а в последнее время также добавился C#.

Начиная с 2004 года, объектные базы данных были на втором пике развития, когда объектные базы данных с открытым исходным кодом были широко доступными и простыми в использовании, так как они полностью написана на ООП языков, таких как Smalltalk, Java, или C #, таких как db4o VERSANT (в db4objects) , DTS / S1 от Obsidian Dynamics и Perst (McObject), доступных под двойным открытым исходным кодом и коммерческими лицензиями.

Технические особенности[править | править вики-текст]

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

Доступ к данным может быть произведён быстрее, так как зачастую нет необходимости в присоединении таблиц (как в табличной реализации реляционной базы данных). Это потому, что объект может быть получен непосредственно, без поиска, используя указатели.

Еще одна область различия между продуктами заключается в том, как определена схема базы данных. Общей характеристикой, однако, является то, что язык программирования и схема базы данных используют одни те же определения типов.

Многие объектные базы данных , например, Gemstone или VOSS, предлагают поддержку управления версиями. Объект можно рассматривать как набор всех его версий. Кроме того, версии объекта можно рассматривать как объекты. Некоторые объектные базы данных также предоставляют систематическую поддержку триггеров и ограничений, которые являются основой всех баз данных.

Эффективность такой базы данных также значительно улучшается в областях, которые требуют огромных объемов данных в одном месте. Например, банковское учреждение может получить информацию об учетной записи пользователя и предоставить ему эффективно работать с обширной информацией, такой как операции, информация об учетной записи и т.д. The Big O Notation для такой парадигмы базы данных имеет значительное повышение эффективности.

Сравнение с реляционными базами данных[править | править вики-текст]

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

Смотрите также[править | править вики-текст]