Вышел первый релиз OrientDB, системы управления базами данных, которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД. Даже при работы с документ-ориентированными данными взаимодействие между документами обрабатывается как в графо-ориентированной БД с определением прямых связей между записями. При этом пройти по цепочке содержимого деревьев и графов, как целиком так и частями, можно в считанные миллисекунды. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. Код OrientDB написан на языке Java и распространяется под лицензией Apache.
OrientDB отличается высокой скоростью работы, на обычном оборудовании позволяя сохранять до 150 000 записей в секунду. При тестировании производительности, один сервер с OrientDB оказался способен заменить собой 125 серверов MySQL. Распределённая сеть серверов способна обеспечить хранение до 9.223.372.036 миллиардов записей и 19.807.040.628.566.084 Тб данных. Оперирующий запросами ключ/значение кластер OrientDB может состоять из тысяч узлов, используя для организации единого хранилища алгоритм распределённой хэш-таблицы (DHT). Для непосредственного хранения данных используется собственный алгоритм RB+Tree, сочетающий в себе особенности Red-Black Tree и B+Tree, что позволяет добиться в двое меньшего потребления памяти при сохранении скорости Red-Black Tree за счёт балансировки операций добавления и обновления данных.
Основные особенности:
Полная поддержка ACID транзакций;
Поддержка подмножества языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является резяционной БД, поэтому в полной мере все возможности SQL не поддерживает);
Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме;
100% совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;
Поддержка языка запросов Gremlin;
Нативно поддерживает HTTP, RESTful и JSON протоколы без использования сторонних компонентов;
Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
Имеет очень малый размер и не имеет сторонних зависимостей;
Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
Дистрибутив полностью самодостаточен;
Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
Доступна коммерческая поддержка.