OrientDB

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


OrientDB — открытая СУБД, которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД. Также поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя.[1] 

Код OrientDB написан на языке Java и распространяется под лицензией Apache.

Эта база данных на основе документов, но отношения управляются как в графовых базах с прямым подключением между записями. Она поддерживает схемы: less (слабоструктурированные данные), full (строго задает обязательные поля) и mixed (смешанная). Имеет мощную систему профилирования безопасности, основанную на пользователях и ролях. Поддерживает SQL в качестве языка запросов. OrientDB использует новый алгоритм индексации под названием RB+Tree, сочетающий в себе особенности Red-Black Tree и B+Tree, что позволяет добиться преимущества перед этими двумя алгоритмами за счёт балансировки операций добавления и обновления данных.

Можно вставлять документы, как и любой другой базе данных, основанной на документах, но также поддерживает отношения. Он не использует дорогостоящее JOIN. Вместо этого, OrientDB использует супер-быстрые, постоянные указатели между записями, взятые из мира графовых баз данных. Можно пройти части или целые деревья и графы записей в течение нескольких миллисекунд.[2][неавторитетный источник? 112 дней]

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

Главный автор Luca Garulli в 2010 году начал переписывать на Java быстрый слой базы данных Orient ОСУБД, написанный на С++. С 2012 года проект спонсируется компанией Orient Technologies LTD, где главный автор является генеральным директором и основателем.

Luca Garulli начал работать с алгоритмами хранения в 1998 году и создал первую готовую версию OrientDB в начале 2010 года после 17 лет опыта работы с другими СУБД. Он создал новый алгоритм MVRB-Tree (первоначальное называние RB + Tree, но уже существовал другой алгоритм с таким названием) в виде смеси из двух алгоритмов Red-Black Tree и B + Tree. MVRB означает Multi Value Red Black, потому что он хранит несколько значений в каждом узле дерева, вместо одного. Лука является членом Sun Microsystems JDO 1.0 и 2.0 Expert Groups, которые написали стандарт JDO. Он также опубликовал ряд технологических статей в журналах Technet, Computer Programming, IoProgrammer, и Week.it.[3]

Orient Technologies является частной компанией, которая официально ведет разработку проекта с открытым кодом OrientDB. Сегодня Orient Technologies имеет более чем 60 клиентов со всего мира.[4]

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

  • Полная поддержка ACID транзакций (Atomicity — атомарность,  Consistency — согласованность, Isolation — изолированность, Durability — надежность);
  • Поддержка подмножества языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает);
  • Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме;
  • 100 % совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;
  • Поддержка языка запросов Гремлин;
  • Нативно поддерживает HTTP, REST и JSON протоколы без использования сторонних компонентов;
  • Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
  • Возможность отката внесённых в документ локальных изменений (ODocument.undo);
  • Имеет очень малый размер и не имеет сторонних зависимостей;
  • Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
  • Дистрибутив полностью самодостаточен;
  • Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
  • Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
  • Доступна коммерческая поддержка.

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

Литература[править | править вики-текст]

  • Claudio Tesoriero. Getting Started with OrientDB. — Packt Publishing, 2013. — 138 p. — ISBN 978-1-78216-995-6.

Примечания[править | править вики-текст]

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