Новая версия NoSQL базы данных OrientDB 1.3

26 декабря 2012 года

Вышел релиз системы управления базами данных OrientDB 1.3, которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД. Даже при работе с документ-ориентированными данными взаимодействие между документами обрабатывается как в графо-ориентированной БД с определением прямых связей между записями. При этом, можно в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. Код 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 1.3:

  • Реализация поддержки новых функций SQL: для запуска выражений добавлена функция eval(); реализованы функции if() и ifnull(); поддержка конфигураций для функций, размещаемых на стороне сервера; возможность запуска функций БД из команд; добавлены новые команды DELETE VERTEX и DELETE EDGE.
  • Встроены реализации двух алгоритмов обхода вершин графа: алгоритм Дейкстры и алгоритм поиска кратчайших путей.
  • Проведена работа по увеличению производительности: сокращено время открытия повторных соединений и улучшено использование индексов в выражениях с "ORDER BY".
  • Добавлен новый API для обработки кастомизированных полей.
  • В HTTP/REST API добавлена поддержка задания лимита и возможность просмотра плана выполнения запроса.

В январе планируется выпустить релиз 1.4, после чего приступить к развитию ветки 2.0, в которой будет представлена новая распределённая архитектура, поддерживающая параллельные запросы и автоматический шардинг данных по узлам кластера.

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

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

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Новая версия NoSQL базы данных OrientDB 1.3», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.