Objectivity / DB - это коммерческая объектная база данных, созданная Objectivity, Inc. Она позволяет приложениям делать стандартные объекты C ++ , C # , Java или Python постоянными без необходимости преобразовывать объекты данных в строки и столбцы, используемые системой управления реляционными базами данных ( СУБД). Objectivity / DB поддерживает самые популярные объектно-ориентированные языки, а также SQL / ODBC и XML . Он работает в Linux , Macintosh , UNIX и Windows.платформы. Все языки и платформы взаимодействуют друг с другом, при этом ядро Objectivity / DB заботится о различиях компилятора и аппаратной платформы.
История
Objectivity / DB был впервые продан в 1990 году. Интерфейсы C ++ и Java для Objectivity / DB включают функции, определенные в стандарте ODMG'93. [1] Впоследствии были добавлены интерфейсы C # и Python.
Архитектурные особенности
Objectivity / DB - это распределенная база данных, которая обеспечивает единое логическое представление для объединения баз данных, распределенных по сети. Он использует модель распределенных вычислений, которая связывает небольшую программную библиотеку с клиентским приложением. Клиент прозрачно взаимодействует с удаленными серверами, которые функционально проще, чем их эквиваленты в централизованных архитектурах серверов баз данных . Есть блокировка, удаленная передача данных и серверные процессы агента запросов. Распределенная архитектура помогает сделать Objectivity / DB по своей сути масштабируемыми [2] и надежными . Он поддерживает скорость приема, превышающую один терабайт в час, при одновременной поддержке операций слияния данных и запросов. [3]
Объективность / БД использует распределенную иерархию хранения. Объекты хранятся в логических кластерах, называемых контейнерами. Контейнеры хранятся в базах данных, каталогизированных в базе данных объединения . Каждый объект имеет уникальный 64-битный идентификатор объекта (OID), который представляет собой составную логическую структуру. Ограничение физического адресного пространства для одной федерации составляет миллионы терабайт. Самая крупная публичная инсталляция Objectivity / DB в эксперименте SLAC BaBar , хранящая более петабайта объектов. [4] [5]
Объективность / БД обеспечивает гибкий подход для определения того, как объекты размещаются в данной иерархии хранилища. [6] Разработчики баз данных могут определять собственную стратегию размещения, которая инкапсулируется в файл конфигурации XML и становится доступной для приложения. Эта стратегия может определять, какие постоянные объекты хранятся вместе, какие распределены и какие хранятся рядом с назначенными объектами.
Объекты могут быть связаны с другими объектами с помощью именованных однонаправленных или двунаправленных ссылок. Ссылки могут иметь мощность 1: 1, 1: много, много: 1 или много: много и использовать OID , чтобы ускорить навигацию сетей объектов. [7] OID также используются для поддержки масштабируемых коллекций (дерево, список, набор и т. Д.), Индексов и хэш-таблиц . Устранение реляционная Присоединяйтесь к операции , присущие реляционной базе данных дает Объективность / DB преимущество в производительности. [8] [9] [10]
Объективность / БД также отличается от СУБД способом обработки запросов. Приложение объявляет и инициализирует итератор, который находит и возвращает квалифицированные объекты, как только они обнаруживаются. Механизм параллельных запросов Objectivity / DB разделяет запросы на подзадачи, направленные на отдельные базы данных или контейнеры. Агенты удаленных запросов обслуживают каждую подзадачу и возвращают результаты итератору. Механизм параллельных запросов имеет два заменяемых компонента: разделитель, который может определить, как лучше всего разделить задачу, и фильтр в агенте запросов, который может дополнительно уточнить запрос. Запрос, связанный с европейскими городами, можно разбить на сорок девять подзадач, по одной для каждой страны. Фильтр может получить доступ к внешнему источнику данных перед квалификацией или дисквалификацией объектов, обнаруженных агентом запросов в базе данных или контейнере Objectivity / DB.
Базы данных и системные данные (каталоги и схемы ) могут быть реплицированы в несколько мест с использованием механизма синхронной репликации на основе кворума. Реплики, временно отделенные от кворума, прозрачно повторно синхронизируются при повторном подключении к сети, которая обслуживает их и их одноранговые узлы. Отдельным базам данных и серверам блокировок могут быть выделены голоса, которые используются для определения того, может ли клиент обновлять реплику.
Распределенная база данных и архитектура обработки Objectivity / DB позволили использовать ее во многих вычислительных средах grid . Он прошел сертификацию как продукт IBM Ready For Grid. Он также используется в приложениях с сервис-ориентированной архитектурой . Objectivity For Java поддерживает стандарт J2EE Connector Architecture (JCA). Распределенная архитектура Objectivity / DB в равной степени применима к облачным средам. [11]
Типичные области применения
Объективность / БД обычно используется в приложениях с интенсивным использованием данных или в приложениях реального времени, которые манипулируют очень сложными взаимосвязанными данными. Он может быть встроен в программный или аппаратный продукт или использоваться как часть коммерческого, научного или государственного проекта.
Ранние развертывания были в основном в приложениях для автоматизированного проектирования и проектирования. В начале 1990-х годов ряд производителей телекоммуникационного оборудования начали встраивать Objectivity / DB в передовые интеллектуальные системы управления сетями и элементами . Известные развертывания включали беспроводную систему SprintPCS и спутниковые сети на низкой околоземной орбите Iridium . Ряд систем управления технологическим процессом, производства и медицинского оборудования включают Objectivity / DB из-за его производительности в реальном времени и высокой доступности.
Оборонные подрядчики и крупные научные проекты начали использовать Objectivity / DB в конце 1990-х годов. Государственные приложения охватывают приложения для управления и контроля, безопасности, объединения данных и разведки. Объективность / БД использовались в астрофизике, физике высоких энергий, термоядерном синтезе, науках о Земле, гидрографии и биоинформатике. Большинство этих приложений создают и управляют чрезвычайно большими (многопетабайтными) базами данных.
Выбор СУБД или СУБД зависит от многих факторов. ODBMS может быть идеальной в объектно-ориентированной системе с интенсивными вычислениями или данными. Однако, если СУБД может с комфортом удовлетворить функциональные требования и требования к производительности приложения с доступными программными ресурсами, то, вероятно, нет необходимости рассматривать СУБД.
Рекомендации
- ^ RG Cattell; Дуглас К. Барри; Марк Берлер; Марк Берлер; Джефф Истман; Дэвид Джордан; Крейг Рассел; Олаф Шадов; Торстен Станиенда; Фернандо Велес (январь 2000 г.). Стандарт объектных данных: ODMG 3.0 . Академическая пресса. ISBN 1558606475. Проверено 1 декабря 2014 года .
- ^ «Джорджтаунский университет использует объективность для исследования больших данных» . Новости государственной безопасности. Май 2013 . Проверено 1 декабря 2014 года .
- ^ «Масштабирование производительности базы данных объективности с горизонтально масштабируемым хранилищем NAS Panasas®» (PDF) . Август 2011 . Проверено 1 декабря 2014 года .
- ^ Уроки, извлеченные из управления петабайтом Яцек Бекла и Даниэль Л. Ван, 2005
- ^ База данных BaBar
- ^ Анджела Гесс (6 февраля 2013 г.). «Объективность запускает объективность / БД 11.0» . БУДУЩЕЕ . Проверено 2 декабря 2014 года .
- ^ Филип Ховард (29 мая 2012 г.). «Объективность и бесконечный график» . Блур . Проверено 1 декабря 2014 года .
- ^ Сюзанна В. Дитрих; Сьюзан Д. Урбан (2011), Основы объектных баз данных , Morgan & Claypool Publishers, стр. 2, ISBN 9781608454761, получено 3 декабря 2014 г.
- ^ Алан Дирл; Роберто В. Зикари, ред. (2010), Объекты и базы данных, Материалы третьей международной конференции, ICOODB , Springer, стр. 34, ISBN 3642160913, получено 3 декабря 2014 г.
- ^ CSR Prabhu (2011), Объектно-ориентированные системы баз данных - подходы и архитектура, третье издание , Асоке К. Гош, PHI Learning Private Limited, стр. 67, ISBN 9788120340930, получено 3 декабря 2014 г.
- ^ «Объективность: комплексное управление данными, упрощенное» . Neovise. 2014 . Проверено 2 декабря 2014 года .
Внешние ссылки
- Объективность, Inc.
- ODBMS.ORG