Вышел (http://nuvolabase.blogspot.ru/2012/12/released-orientdb-13-w... релиз системы управления базами данных OrientDB 1.3 (http://www.orientdb.org/), которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД (http://ru.wikipedia.org/wiki/%D0%91%D0%B.... Даже при работе с документ-ориентированными данными взаимодействие между документами обрабатывается как в графо-ориентированной БД с определением прямых связей между записями. При этом, можно в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. Код OrientDB написан на языке Java и распространяется (https://github.com/nuvolabase/orientdb/) под лицензией 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 за счёт балансировки операций добавления и обновления данных.<center><a href="http://www.orientdb.org/images/graphed-tutorial-graph_small.... src="http://www.opennet.me/opennews/pics_base/0_1337073594.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border="0"></a></center>
Основные новшества OrientDB 1.3:
- Реализация поддержки новых функций SQL (https://www.assembla.com/wiki/show/orientdb/SQL_Query_on_a_N...: для запуска выражений добавлена функция eval(); реализованы функции if() и ifnull(); поддержка конфигураций для функций, размещаемых на стороне сервера; возможность запуска функций БД из команд; добавлены новые команды DELETE VERTEX и DELETE EDGE.
- Встроены реализации двух алгоритмов обхода вершин графа: алгоритм Дейкстры и алгоритм поиска кратчайших путей.
- Проведена работа по увеличению производительности: сокращено время открытия повторных соединений и улучшено использование индексов в выражениях с "ORDER BY".
- Добавлен новый API для обработки кастомизированных полей.
- В HTTP/REST API добавлена поддержка задания лимита и возможность просмотра плана выполнения запроса.
В январе планируется выпустить релиз 1.4, после чего приступить к развитию ветки 2.0, в которой будет представлена новая распределённая архитектура, поддерживающая параллельные запросы и автоматический шардинг данных по узлам кластера.
Основные особенности OrientDB:- Полная поддержка ACID транзакций;
- Поддержка подмножества (http://code.google.com/p/orient/wiki/SQLQuery) языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает);
- Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме;
- 100% совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;
- Поддержка языка запросов Gremlin (https://github.com/tinkerpop/gremlin/wiki);
- Нативно поддерживает HTTP, RESTful и JSON протоколы без использования сторонних компонентов;
- Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
- Возможность отката внесённых в документ локальных изменений (ODocument.undo);
- Имеет очень малый размер и не имеет сторонних зависимостей;
- Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
- Дистрибутив полностью самодостаточен;
- Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
- Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
- Доступна коммерческая поддержка.
URL: http://nuvolabase.blogspot.ru/2012/12/released-orientdb-13-w...
Новость: http://www.opennet.me/opennews/art.shtml?num=35696
NoSQL это несовместимая с SQL база данных?
Нет, это иной подход для работы с данными http://ru.wikipedia.org/wiki/NoSQL
Я это и имел в виду.
> Я это и имел в виду.Ну да, это как mp4, не совместимый с mp3)
> NoSQL это несовместимая с SQL база данных?Какая внезапность, это следует прямо из названия :)
Не следует. NoSQL -> not only SQL
Отлично! Собирался добавить новость, но опередили ;-) .Кто-то спрашивал в каких реальных проектах используется.
Например, UltraDNS, http://highscalability.com/blog/2012/10/8/how-ultradns-handl...
а я раньше сталкивался с этой БД в движке для блогов http://pebble.sourceforge.net/