Выпуск СУБД OrientDB 2.1

Представлен релиз системы управления базами данных OrientDB 2.1, которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД. Взаимодействие между документами в OrientDB обрабатывается как в графо-ориентированной БД с определением прямых связей между записями, что позволяет в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. OrientDB отличается высокой скоростью работы, на обычном оборудовании позволяя сохранять до 150 000 записей в секунду. Код OrientDB написан на языке Java и распространяется под лицензией Apache.

Ключевым новшеством OrientDB 2.1 является поддержка live-запросов, позволяющих создавать приложения, мгновенно реагирующие на изменение состояния БД. Если при обычных запросах отслеживание изменений производится через периодическую проверку наличия свежих данных, то live-запросы дают возможность получения информации об изменении в режиме реального времени. Работа live-запросов построена через оформление подписки на определённый вид данных, характер которых задаётся при помощи обычного условного блока WHERE. При появлении новой информации, соответствующей заданному запросу, OrientDB сразу отправит данные клиенту.

В новой версии также произведена интеграция средств аудита, позволяющих отслеживать все операции изменения, чтения, обновления и удаления для каждого объекта в СУБД. Поддерживается наследование объектами установленных свойств аудита. Кроме того, представлены новые средства для мониторинга и анализа статистики работы СУБД.

0_1438962297.png

Основные особенности OrientDB:

  • Полная поддержка ACID-транзакций;
  • Поддержка подмножества языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает);
  • Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме;
  • Полностью совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;
  • Поддержка языка запросов Gremlin;
  • Нативно поддерживает HTTP, RESTful и JSON протоколы без использования сторонних компонентов;
  • Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
  • Возможность отката внесённых в документ локальных изменений (ODocument.undo);
  • Имеет очень малый размер и не имеет сторонних зависимостей;
  • Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
  • Дистрибутив полностью самодостаточен;
  • Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
  • Кластер OrientDB может состоять из тысяч узлов и использовать для организации единого хранилища алгоритм распределённой хэш-таблицы (DHT);
  • Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
  • Использование собственного алгоритма RB+Tree для хранения данных, сочетающего в себе особенности Red-Black Tree и B+Tree, что позволяет добиться вдвое меньшего потребления памяти при сохранении скорости Red-Black Tree за счёт балансировки операций добавления и обновления данных.

© OpenNet