Состоялся (http://orientdb.com/released-orientdb-v2-2/) релиз СУБД OrientDB 2.2 (http://www.orientdb.org/), которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД (http://ru.wikipedia.org/wiki/%D0%91%D0%B...). Взаимодействие между документами в OrientDB обрабатывается как в графо-ориентированной БД с определением прямых связей между записями, что позволяет в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. Код OrientDB написан на языке Java и распространяется (https://github.com/nuvolabase/orientdb/) под лицензией Apache.
Ключевые новшества:
- Обеспечена (http://orientdb.com/docs/last/Database-Encryption.html) возможность хранения данных на диске в зашифрованном виде. Для шифрования предлагаются алгоритмы AES и DES. Ключ шифрования не хранится в БД, а передаётся при подключении к СУБД;
- Добавлена новая настраиваемая модель обеспечения согласованности данных в графе (Graph Consistency (http://orientdb.com/docs/last/Graph-Consistency.html)), выступающая в роли альтернативы транзакциям и по сравнению с ними ускоряющая выполнение операций по изменению элементов графа;
- На смену Workbench пришел новый web-интерфейс OrientDB Studio (http://orientdb.com/docs/last/Studio-Home-page.html), основанный на новой архитектуре и других модулях;
<center><a href="http://orientdb.com/docs/last/images/studio-newDb.png"&... src="https://www.opennet.me/opennews/pics_base/0_1463594764.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Улучшены системы аудита операции с БД, расширены возможности аутентификации, добавлена поддержка Kerberos;
- В движок внесена порция оптимизаций, позволившая ускорить работу при различных видах нагрузки;
- Для распределённых конфигураций представлена поддержка режима быстрой ресинхронизации узлов (fast-resync);
- Реализовано решение для создания инкрементальных бэкапов;
- Добавлен инструмент Teleporter (http://orientdb.com/docs/last/Teleporter-Home.html), позволяющий синхронизировать содержимое БД с реляционными СУБД и упрощающий проведение миграции данных в OrientDB;
- Добавлены дополнительные элементы в реализацию SQL: поиск по шаблону (http://orientdb.com/docs/last/SQL-Match.html) (оператор MATCH), кэш команд, параллельные запросы и Live-запросы (http://orientdb.com/docs/last/Live-Query.html) (получение изменений в реальном времени);
- В OrientJS (https://github.com/orientechnologies/orientjs), драйвер для Node.js, добавлена поддержка демаршалинга (https://ru.wikipedia.org/wiki/%D0%9C%D0%...).
Основные особенности 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 за счёт балансировки операций добавления и обновления данных.
- Поддержка live-запросов, позволяющих получать информацию об изменениях в БД в режиме реального времени;
- Наличие средств аудита для отслеживания всех операции изменения, чтения, обновления и удаления для каждого объекта в СУБД.
URL: http://orientdb.com/released-orientdb-v2-2/
Новость: http://www.opennet.me/opennews/art.shtml?num=44457