Представлен (http://orientdb.com/orientdb-2-1-and-24x7-support-release/) релиз системы управления базами данных OrientDB 2.1 (http://www.orientdb.org/), которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД (http://ru.wikipedia.org/wiki/%D0%91%D0%B...). Взаимодействие между документами в OrientDB обрабатывается как в графо-ориентированной БД с определением прямых связей между записями, что позволяет в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. OrientDB отличается (http://www.orientechnologies.com/why-orientdb/) высокой скоростью работы, на обычном оборудовании позволяя сохранять до 150 000 записей в секунду. Код OrientDB написан на языке Java и распространяется (https://github.com/nuvolabase/orientdb/) под лицензией Apache.Ключевым новшеством OrientDB 2.1 является поддержка live-запросов (https://orientdb.com/docs/last/Live-Query.html), позволяющих создавать приложения, мгновенно реагирующие на изменение состояния БД. Если при обычных запросах отслеживание изменений производится через периодическую проверку наличия свежих данных, то live-запросы дают возможность получения информации об изменении в режиме реального времени. Работа live-запросов построена через оформление подписки на определённый вид данных, характер которых задаётся при помощи обычного условного блока WHERE. При появлении новой информации, соответствующей заданному запросу, OrientDB сразу отправит данные клиенту.
В новой версии также произведена интеграция средств (http://orientdb.com/docs/last/Auditing.html) аудита, позволяющих отслеживать все операции изменения, чтения, обновления и удаления для каждого объекта в СУБД. Поддерживается наследование объектами установленных свойств аудита. Кроме того, представлены (http://orientdb.com/docs/last/Server-Management.html) новые средства для мониторинга и анализа статистики работы СУБД.
<center><a href="http://orientdb.com/docs/last/images/studio-stats-2servers.p... src="http://www.opennet.dev/opennews/pics_base/0_1438962297.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Основные особенности OrientDB:
- Полная поддержка ACID-транзакций;
- Поддержка подмножества (http://code.google.com/p/orient/wiki/SQLQuery) языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает);
- Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме;
- Полностью совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;
- Поддержка языка запросов Gremlin (https://github.com/tinkerpop/gremlin/wiki);
- Нативно поддерживает HTTP, RESTful и JSON протоколы без использования сторонних компонентов;
- Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
- Возможность отката внесённых в документ локальных изменений (ODocument.undo);
- Имеет очень малый размер и не имеет сторонних зависимостей;
- Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
- Дистрибутив полностью самодостаточен;
- Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
- Кластер OrientDB может состоять из тысяч узлов и использовать для организации единого хранилища алгоритм распределённой хэш-таблицы (DHT);
- Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
- Использование собственного алгоритма RB+Tree для хранения данных, сочетающего в себе особенности Red-Black Tree и B+Tree, что позволяет добиться вдвое меньшего потребления памяти при сохранении скорости Red-Black Tree за счёт балансировки операций добавления и обновления данных.
URL: http://orientdb.com/orientdb-2-1-and-24x7-support-release/
Новость: http://www.opennet.dev/opennews/art.shtml?num=42740