Jump to content

База данных объектов

Пример объектно-ориентированной модели [1]

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

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

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

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

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

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

Системы управления объектными базами данных выросли из исследований начала и середины 1970-х годов и стали иметь встроенную поддержку управления базами данных для объектов с графовой структурой. Термин «объектно-ориентированная система баз данных» впервые появился примерно в 1985 году. [4] Известные исследовательские проекты включали Encore-Ob/Server ( Университет Брауна ), EXODUS ( Университет Висконсина-Мэдисона ), IRIS (Hewlett-Packard), ODE ( Bell Labs ), ORION ( Корпорация микроэлектроники и компьютерных технологий или MCC), Vodak (GMD). -IPSI) и Zeitgeist (Texas Instruments). По проекту ОРИОН было опубликовано больше статей, чем по любому другому проекту. Вон Ким из MCC собрал лучшие из этих статей в книге, опубликованной The 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 (Корпорация Джейд Программное обеспечение). Некоторые из этих продуктов остаются на рынке, и к ним присоединились новые коммерческие продукты с открытым исходным кодом, такие как InterSystems Caché .

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

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

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

объектных Внедрение данных баз

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

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

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

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

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

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

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

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

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

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

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

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

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

В феврале 2006 года группа управления объектами (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), [15] [16] [17] а также в коммерческих системах. Их легко освоить и использовать, они очень мощные и быстрые. Они не являются реляционными, и XQuery не основан на SQL (хотя один из разработчиков XQuery также был соавтором SQL). Но они также не являются объектно-ориентированными в смысле программирования: XQuery не использует инкапсуляцию с сокрытием, неявную диспетчеризацию, а также классы и методы. Базы данных XQuery обычно используют XML и JSON в качестве формата обмена, хотя используются и другие форматы.

С начала 2000-х годов JSON получил признание сообщества и популярность в приложениях, где разработчики контролируют формат данных. JSONiq , аналог запроса XQuery для JSON (совместно использующий основные выражения и операции XQuery), продемонстрировал функциональную эквивалентность форматов JSON и XML для информации, ориентированной на данные. В этом контексте основная стратегия разработчиков ООСУБД заключалась в модификации JSON в своих базах данных (используя его в качестве внутреннего типа данных).

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

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

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

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

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

  1. Глоссарий по интеграции данных . Архивировано 20 марта 2009 г. в Wayback Machine , Министерство транспорта США, август 2001 г.
  2. ^ ODBMS.ORG :: Объектная база данных (ODBMS) | Объектно-ориентированная база данных (ООСУБД) | Портал бесплатных ресурсов . ОДСУБД (31 августа 2013 г.). Проверено 18 сентября 2013 г. Архивировано 6 марта 2014 г. в Wayback Machine.
  3. ^ О'Брайен, Дж. А., и Маракас, генеральный менеджер (2009). Информационные системы управления (9-е изд.). Нью-Йорк, штат Нью-Йорк: МакГроу-Хилл / Ирвин
  4. ^ Три примера ссылок 1985 года, в которых используется этот термин: Т. Этвуд, «Объектно-ориентированная СУБД для приложений поддержки проектирования», Proceedings of IEEE COMPINT 85 , стр. 299-307, сентябрь 1985 г.; Н. Дерретт, В. Кент и П. Люнгбек, «Некоторые аспекты операций в объектно-ориентированной базе данных», Database Engineering , vol. 8, нет. 4, Компьютерное общество IEEE, декабрь 1985 г.; Д. Майер, А. Отис и А. Парди, «Объектно-ориентированная разработка баз данных в Servio Logic», Database Engineering , vol. 18, № 4, декабрь 1985 г.
  5. ^ Ким, Вон. Введение в объектно-ориентированные базы данных. Массачусетский технологический институт Пресс, 1990. ISBN   0-262-11124-1
  6. ^ Банкильон, Франсуа; Делобель, Клод; и Канеллакис, Париж. Построение объектно-ориентированной системы баз данных: история O 2 . Издательство Морган Кауфманн, 1992. ISBN   1-55860-169-4 .
  7. ^ Ульфсби; и др. (июль 1981 г.). «ТОРНАДО: СУБД для CAD/CAM-систем». Компьютерное проектирование . 13 (4): 193–197. дои : 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» . ПРВеб. Архивировано из оригинала 10 августа 2014 года . Проверено 5 августа 2014 г.
  10. ^ «реструктуризация нашего веб-сайта сообщества Versant» .
  11. ^ «Realm выпускает объектную базу данных для Node.js» . ИнфоQ . Архивировано из оригинала 2 февраля 2017 г.
  12. ^ DB-движки. «Рейтинг объектной базы данных на DB-Engines» . DB-двигатели . Проверено 21 мая 2021 г.
  13. ^ «Стэнфордский линейный ускоритель (SLAC)» .
  14. ^ Херде, Патрик; Сиббальд, Питер Р. (1992). «Интеграция коллекций данных молекулярной биологии с использованием объектно-ориентированных баз данных и программирования» . Приложение к материалам «Объектно-ориентированные системы, языки и приложения программирования» (Дополнение) — OOPSLA '92 . стр. 177–178. дои : 10.1145/157709.157747 . ISBN  0897916107 . S2CID   45269462 .
  15. ^ «Процессор BaseX XQuery» . basex.org . Архивировано из оригинала 16 декабря 2023 г.
  16. ^ «XQuery в eXist-db» . существует-db.org . Архивировано из оригинала 2 декабря 2023 г.
  17. ^ «Саксонский — использование XQuery» . www.saxonica.com . Архивировано из оригинала 23 сентября 2020 г.
  18. ^ «PostgreSQL: Документация: 10:9.15. Функции и операторы JSON» . www.postgresql.org . Архивировано из оригинала 18 мая 2016 г.
  19. ^ Раддинг, Алан (1995). «Так что же такое, черт возьми, ODBMS?». Компьютерный мир . 29 (45): 121–122, 129.
  20. ^ Берлесон, Дональд. (1994). ООСУБД завоевывают позиции ИСУ, но СУРБД по-прежнему владеют этой дорогой. Журнал «Программное обеспечение», 14(11), 63

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

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0024c289f2c671b7ed79adc804e0d733__1713214800
URL1:https://arc.ask3.ru/arc/aa/00/33/0024c289f2c671b7ed79adc804e0d733.html
Заголовок, (Title) документа по адресу, URL1:
Object database - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)