Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Пример объектно-ориентированной модели [1]

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

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

Обзор [ править ]

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

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

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

История [ править ]

Системы управления объектными базами данных выросли из исследований в период с начала до середины 1970-х годов и получили встроенную поддержку управления базами данных для объектов с графической структурой. Термин «объектно-ориентированная система баз данных» впервые появился около 1985 года. [4] Известные исследовательские проекты включали Encore-Ob / Server ( Университет Брауна ), EXODUS ( Университет Висконсина-Мэдисона ), IRIS (Hewlett-Packard), ODE ( Белл). Labs ), ORION ( Microelectronics and Computer Technology Corporation или MCC), Vodak (GMD-IPSI) и Zeitgeist (Texas Instruments). По проекту ORION было опубликовано больше статей, чем по любому другому проекту. Вон Ким из MCC собрал лучшие из этих статей в книгу, опубликованную MIT Press. [5]

Ранние коммерческие продукты включали Gemstone (Servio Logic, название изменено на GemStone Systems), Gbase (Graphael) и Vbase (Ontologic). Дополнительные коммерческие продукты появились на рынке в конце 1980-х - середине 1990-х годов. К ним относятся ITASCA (Itasca Systems), Jasmine (Fujitsu, продается Computer Associates), Matisse (Matisse Software), Objectivity / DB (Objectivity, Inc.), ObjectStore ( Progress Software , приобретенная у eXcelon, которая изначально была Object Design, Incorporated ) , ONTOS (Ontos, Inc., название изменено с Ontologic), O 2 [6] (O 2 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 для Smalltalk ). На протяжении большей части 1990-х C ++ доминировал на рынке управления коммерческими объектными базами данных. Поставщики добавили Java в конце 1990-х, а в последнее время - C # .

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

Хронология [ править ]

  • 1966 г.
    • МАМПЫ
  • 1979 г.
    • InterSystems M
  • 1980 г.
    • TORNADO - объектная база данных для CAD / CAM [7]
  • 1982 г.
    • Компания Gemstone начала (как Servio Logic) с создания машины базы данных теоретических моделей.
  • 1985 - Впервые представлена ​​база данных Term Object Database
  • 1986 г.
    • Servio Logic (Gemstone Systems) поставляет Gemstone 1.0
  • 1988 г.
    • Основание Object Design, Incorporated , начало разработки ObjectStore
    • Основание Versant Corporation (как Object Sciences Corp)
    • Основание компании Objectivity, Inc.
  • Начало 1990-х
    • Servio Logic меняет название на Gemstone Systems
    • Gemstone ( Smalltalk ) - ( C ++ ) - ( Java )
    • GBase ( LISP )
    • VBase (O2- ONTOS - INFORMIX)
    • Объективность / БД
  • Середина 1990-х
    • InterSystems Caché
    • База данных Versant Object
    • ODABA
    • ЗОДБ
    • Поэт
    • ДЖЕЙД
    • Матисс
    • Illustra Informix
  • 2000-е
    • lambda-DB: объектно-ориентированная СУБД на основе ODMG Леонидаса Фегараса, Чандрасекара Сринивасана, Арвинда Раджендрана, Дэвида Майера
    • проект db4o, начатый Карлом Розенбергером
    • ObjectDB
  • 2001 IBM приобретает Informix
  • Публичный выпуск odbpp 2003 г.
  • 2004 год - коммерческий запуск db4o как db4objects, Inc.
  • 2008 db4o приобретена Versant Corporation
  • 2010 VMware приобретает GemStone [8]
  • 2011 развитие db4o остановлено.
  • 2012 Первые производственные версии Wakanda с открытым исходным кодом и коммерческими лицензиями
  • 2013 GemTalk Systems приобретает продукты Gemstone у VMware [9]
  • В 2014 году коммерческое предложение db4o прекращено компанией Actian (которая приобрела Versant) [10]
  • Царство 2014 [11]

Принятие объектных баз данных [ править ]

Объектные базы данных, основанные на постоянном программировании, заняли свою нишу в таких прикладных областях, как инженерные и пространственные базы данных , телекоммуникации и научные области, такие как физика высоких энергий и молекулярная биология [ цитата необходима ] .

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

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

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

Доступ к данным может быть быстрее, поскольку объект можно получить напрямую без поиска, следуя указателям .

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

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

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

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

Стандарты [ править ]

Группа управления объектными данными представляла собой консорциум поставщиков объектных баз данных и объектно-реляционного сопоставления, членов академического сообщества и заинтересованных сторон. Его цель состояла в том, чтобы создать набор спецификаций, которые позволили бы переносить приложения, хранящие объекты в системах управления базами данных. Он опубликовал несколько версий своей спецификации. Последней версией была ODMG 3.0. К 2001 году большинство основных поставщиков объектных баз данных и объектно-реляционных отображений заявили о соответствии ODMG Java Language Binding. Соответствие другим компонентам спецификации было неоднозначным. В 2001 году привязка языка Java ODMG была представлена процессу сообщества Java в качестве основы для объектов данных Java.Технические характеристики. Затем компании-члены ODMG решили сконцентрировать свои усилия на спецификации Java Data Objects. В результате ODMG распалась в 2001 году.

Многие идеи объектных баз данных также были включены в SQL: 1999 и в той или иной степени реализованы в продуктах объектно-реляционных баз данных .

В 2005 году Кук, Рай и Розенбергер предложили отказаться от всех усилий по стандартизации, чтобы ввести дополнительные объектно-ориентированные API-интерфейсы запросов, а вместо этого использовать сам объектно-ориентированный язык программирования, то есть Java и .NET, для выражения запросов. В результате появились нативные запросы . Точно так же Microsoft анонсировала Language Integrated Query (LINQ) и DLINQ, реализацию LINQ, в сентябре 2005 года, чтобы обеспечить тесные, интегрированные в язык возможности запросов к базе данных с ее языками программирования C # и VB.NET 9.

В феврале 2006 года Object Management Group (OMG) объявила, что ей было предоставлено право разрабатывать новые спецификации на основе спецификации ODMG 3.0 и сформирована Рабочая группа по технологии объектных баз данных (ODBT WG). Рабочая группа ODBT планировала создать набор стандартов, которые будут включать достижения в технологии объектных баз данных (например, репликация), управления данными (например, пространственная индексация) и форматов данных (например, XML), а также включить в эти стандарты новые функции, которые поддержка доменов, в которых принимаются объектные базы данных (например, системы реального времени). Работа рабочей группы ODBT была приостановлена ​​в марте 2009 г., когда после экономических потрясений в конце 2008 г. поставщики ODB, участвовавшие в этой работе, решили сосредоточить свои ресурсы в другом месте.

В январе 2007 года Консорциум World Wide Web дал окончательный статус рекомендации языку XQuery . XQuery использует XML в качестве модели данных. Некоторые идеи, изначально разработанные для объектных баз данных, нашли свое отражение в XQuery, но XQuery по своей сути не является объектно-ориентированным. Из-за популярности XML движки XQuery конкурируют с объектными базами данных как средство хранения данных, которые слишком сложны или изменчивы, чтобы их можно было удобно хранить в реляционной базе данных. XQuery также позволяет писать модули для обеспечения функций инкапсуляции, которые были предоставлены объектно-ориентированными системами.

XQuery v1 и XPath v2 чрезвычайно сложны (ни одно программное обеспечение FOSS не реализует эти стандарты более чем через 10 лет после их публикации) по сравнению с XPath v1 и XSLT v1 , а XML не отвечал всем требованиям сообщества как открытый формат . С начала 2000-х годов JSON получил признание сообщества и стал популярным в приложениях, превзойдя XML в 2010-х годах. JSONiq, аналог запроса XQuery для JSON (разделяющий основные выражения и операции XQuery), продемонстрировал функциональную эквивалентность форматов JSON и XML. В этом контексте основной стратегией разработчиков OODBMS было модифицировать JSON в своих базах данных (используя его в качестве внутреннего типа данных).

В январе 2016 года выпуск PostgreSQL 9.5 [12] стал первой FOSS OODBMS, предлагающей эффективный внутренний тип данных JSON (JSONB) с полным набором функций и операций для всех основных реляционных и нереляционных манипуляций.

Сравнение с СУБД [ править ]

База данных объектов хранит сложные данные и отношения между данными напрямую, без сопоставления с реляционными строками и столбцами, что делает их подходящими для приложений, работающих с очень сложными данными. [13] Объекты связаны отношениями «многие ко многим», и доступ к ним осуществляется с помощью указателей. Указатели связаны с объектами для установления отношений. Еще одно преимущество OODBMS заключается в том, что ее можно программировать с небольшими процедурными различиями, не затрагивая всю систему. [14]

См. Также [ править ]

  • Сравнение систем управления объектными базами данных
  • Компонентно-ориентированная база данных
  • База данных EDA
  • Платформа корпоративных объектов
  • NoSQL
  • Группа управления объектными данными
  • Объектно-реляционная база данных
  • Настойчивость (информатика)
  • Реляционная модель
  • Система управления реляционными базами данных (СУБД)

Ссылки [ править ]

  1. ^ Интеграция данных Глоссарий архивации 20 марта 2009, в Wayback Machine , Министерство транспорта США, август 2001 года.
  2. ^ ODBMS.ORG :: База данных объектов (ODBMS) | Объектно-ориентированная база данных (OODBMS) | Портал бесплатных ресурсов . ODBMS (31 августа 2013 г.). Проверено 18 сентября 2013. Архивировано 6 марта 2014 года в Wayback Machine.
  3. ^ О'Брайен, JA, и Marakas, GM (2009). Информационные системы управления (9-е изд.). Нью-Йорк, Нью-Йорк: Макгроу-Хилл / Ирвин
  4. ^ Три примера ссылок из 1985 года, в которых используется термин: Т. Этвуд, «Объектно-ориентированная СУБД для приложений поддержки проектирования», Труды IEEE COMPINT 85 , стр. 299-307, сентябрь 1985 г .; Н. Дерретт, В. Кент и П. Люнгбек, "Некоторые аспекты операций в объектно-ориентированной базе данных", Разработка баз данных , вып. 8, вып. 4, IEEE Computer Society, декабрь 1985 г .; Д. Майер, А. Отис и А. Парди, "Объектно-ориентированная разработка баз данных в Servio Logic", Разработка баз данных , вып. 18, No 4, декабрь 1985 г.
  5. ^ Ким, Вон. Введение в объектно-ориентированные базы данных. MIT Press, 1990. ISBN  0-262-11124-1.
  6. ^ Bancilhon, Франсуа; Делобель, Клод; и Канеллакис, Париж. Построение объектно-ориентированной системы баз данных: история O 2 . Издатели Моргана Кауфмана, 1992. ISBN 1-55860-169-4 . 
  7. ^ Ульфсби; и другие. (Июль 1981 г.). «TORNADO: СУБД для CAD / CAM систем». Компьютерный дизайн . 13 (4): 193–197. DOI : 10.1016 / 0010-4485 (81) 90140-8 .
  8. ^ «SpringSource для приобретения технологии управления данными Gemstone Systems» . WMware. 6 мая 2010 года в архив с оригинала на 8 августа 2014 года . Проверено 5 августа 2014 года .
  9. ^ GemTalk Systems (2 мая 2013). «GemTalk Systems приобретает продукты GemStone / S у VMware» . PRWeb. Архивировано 10 августа 2014 года . Проверено 5 августа 2014 года .
  10. ^ «реструктуризация нашего веб-сайта Versant Community» .
  11. ^ "Realm Releases Object Database для Node.js" . InfoQ . Архивировано 02 февраля 2017 года.
  12. ^ «PostgreSQL: Документация: 10: 9.15. Функции и операторы JSON» . www.postgresql.org . Архивировано 18 мая 2016 года.
  13. ^ Radding, Алан (1995). «Так что, черт возьми, такое ODBMS?». Компьютерный мир . 29 (45): 121–122, 129.
  14. ^ Burleson, Дональд. (1994). ООСУБД все больше и больше используют СУБД, но СУБД по-прежнему владеют дорогой. Журнал Software, 14 (11), 63

Внешние ссылки [ править ]

  • Ресурсный портал объектной СУБД
  • Рейтинг объектно-ориентированных СУБД - по популярности, ежемесячно обновляется из DB-Engines