Выпуск СУБД OrientDB 2.0
Представлен релиз системы управления базами данных OrientDB 2.0, которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД. Код OrientDB написан на языке Java и распространяется под лицензией Apache. Новая ветка отмечена как достигшая уровня стабильности, пригодного для промышленной эксплуатации. Отличительной чертой OrientDB 2.0 является новая распределённая архитектура, поддерживающая параллельные запросы, асинхронную репликацию и автоматический шардинг данных по узлам кластера. По сравнению с прошлыми выпусками OrientDB в новой ветке отмечается в среднем рост производительности на 40%, для распределённых на несколько серверов конфигураций в тестах наблюдается трёхкратное ускорение работы. Благодаря кэшированию JavaScript-движка в JVM вызов JavaScript-функций теперь осуществляется до 10 раз быстрее. Переписана и заметно ускорена функция поиска кратчайшего пути в графе (shortestPath).
Кроме того, в OrientDB 2.0 задействован новый бинарный протокол, обеспечивающий хранение данных с использованием сжатия, что позволило заметно сократить занимаемое базой место на диске и уменьшить интенсивность ввода/вывода. Для повышения защищённости реализована возможность шифрования каналов связи с использованием SSL. Повышена устойчивость СУБД к повреждениям индексов. В графическом интерфейсе OrientDB Studio переработан интерфейс, представлен новый редактор графов, добавлена панель управления доступом пользователей и ролями. Добавлены ETL-модули для импорта данных и JDBC, CVS и JSON.
В OrientDB даже при работе с документ-ориентированными данными взаимодействие между документами обрабатывается как в графо-ориентированной БД с определением прямых связей между записями. При этом, можно в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. Код OrientDB написан на языке Java и распространяется под лицензией Apache.
OrientDB отличается высокой скоростью работы, на обычном оборудовании позволяя сохранять до 150 000 записей в секунду. При тестировании производительности, один сервер с OrientDB оказался способен заменить собой 125 серверов MySQL. Распределённая сеть серверов способна обеспечить хранение до 9 223 372 036 миллиардов записей (2^63) и 19 807 040 628 566 084 Тб данных. Оперирующий запросами ключ/значение кластер OrientDB может состоять из тысяч узлов, используя для организации единого хранилища алгоритм распределённой хэш-таблицы (DHT). Для непосредственного хранения данных используется собственный алгоритм RB+Tree, сочетающий в себе особенности Red-Black Tree и B+Tree, что позволяет добиться вдвое меньшего потребления памяти при сохранении скорости Red-Black Tree за счёт балансировки операций добавления и обновления данных.
Основные особенности OrientDB:
Полная поддержка ACID транзакций; Поддержка подмножества языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает); Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме; 100% совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД; Поддержка языка запросов Gremlin; Нативно поддерживает HTTP, RESTful и JSON протоколы без использования сторонних компонентов; Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера; Возможность отката внесённых в документ локальных изменений (ODocument.undo); Имеет очень малый размер и не имеет сторонних зависимостей; Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей; Дистрибутив полностью самодостаточен; Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию); Поддержка запуска скриптов на стороне сервера (Server Side Scripting); Доступна коммерческая поддержка.
© OpenNet