OrientDB

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

Графовая база данных, система управления базами данных, открытое программное обеспечение, NoSQL и свободное программное обеспечение

Разработчик

Orient Technologies LTD

Написана на

Java

Операционная система

Linux, FreeBSD, OpenBSD, Windows, Mac

Первый выпуск

2010-02-9; 2191 день тому назад

Аппаратная платформа

Java Virtual Machine

Последняя версия

2.1.9 (2016-01-07; 33 дня тому назад)

Тестовая версия

2.2-alpha

Состояние

Активный

Лицензия

Apache v2

Сайт

orientdb.com

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

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

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

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

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

Главный автор 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 для графо-ориентированных БД;
  • Поддержка языка запросов Gremlin;
  • Поддерживает HTTP, REST и JSON протоколы без использования сторонних компонентов;
  • Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
  • Возможность отката внесённых в документ локальных изменений (ODocument.undo);
  • Имеет очень малый размер и не имеет сторонних зависимостей;
  • Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
  • Дистрибутив полностью самодостаточен;
  • Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
  • Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
  • Доступна коммерческая поддержка.

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

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

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

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