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