URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 86838
[ Назад ]

Исходное сообщение
"Новая версия NoSQL базы данных OrientDB 1.2"

Отправлено opennews , 11-Окт-12 20:26 
Представлен (http://nuvolabase.blogspot.com/2012/10/released-orientdb-v-1... релиз системы управления базами данных OrientDB 1.2 (http://www.orientdb.org/), которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД (http://ru.wikipedia.org/wiki/%D0%91%D0%B.... Даже при работы с документ-ориентированными данными взаимодействие между документами обрабатывается как в графо-ориентированной БД с определением прямых связей между записями. При этом, можно в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя. Код (http://code.google.com/p/orient/) OrientDB написан на языке Java и распространяется под лицензией Apache.

OrientDB отличается высокой скоростью работы, на обычном оборудовании  позволяя сохранять до 150 000 записей в секунду. При тестировании производительности, один сервер с OrientDB оказался способен заменить собой 125 серверов MySQL. Распределённая сеть серверов способна обеспечить хранение до 9.223.372.036 миллиардов записей и 19.807.040.628.566.084 Тб данных. Оперирующий запросами ключ/значение кластер OrientDB может состоять из тысяч узлов, используя для организации единого хранилища алгоритм распределённой хэш-таблицы (DHT). Для непосредственного хранения данных используется собственный алгоритм RB+Tree, сочетающий в себе особенности Red-Black Tree и B+Tree, что позволяет добиться вдвое меньшего потребления памяти при сохранении скорости Red-Black Tree за счёт балансировки операций добавления и обновления данных.

Среди добавленных в OrientDB 1.2 улучшений:

-  Поддержка (http://nuvolabase.blogspot.it/2012/09/orientdb-supports-func... функций, выполняемых на стороне сервера (аналог хранимых процедур). Для написания серверных функций предлагается использовать язык JavaScript;-  Ограничение (http://nuvolabase.blogspot.it/2012/10/orientdb-supports-new-... доступа на уровне записей, что позволяет разделить граф на части, каждая из которых имеет свой уровень доступа с разными правами на создание, удаление, чтение и обновление записей;-  В систему профилирования добавлена поддержка генерации снапшотов;-  JMX (http://en.wikipedia.org/wiki/JMX) оформлен в виде плагина, который не устанавливается по умолчанию;-  Реализована поддержка автоматического перестроения индекса схемы данных в процессе перезапуска после краха или экстренного завершения работы;-  В реализацию SQL добавлены: команда EXPLAIN для профилирования выражений; новое ключевое LET для установки контекстных переменных; поддержка указания подзапросов в конструкции CREATE EDGE;
-  В объектно-ориентированном интерфейсе JPA добавлена поддержка настройки правил именования объектов;-  Поддержка абстрактных классов;-  Для ускорения запросов обеспечена поддержка частичной передачи полей;-  Возможность автоматического создания резервных копий в заданные моменты времени.


Основные особенности 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://code.google.com/p/orient/
Новость: http://www.opennet.me/opennews/art.shtml?num=35058


Содержание

Сообщения в этом обсуждении
"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Аноним , 11-Окт-12 20:26 
2 абзац крайне аппетитен. Кто-нибудь пробовал?

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Аноним , 11-Окт-12 20:41 
у тебя есть 125 mysql серверов которые надо заменить ? :)

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Аноним , 11-Окт-12 22:58 
У цука есть. 19 тыщ инстансов или около того.

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Аноним , 12-Окт-12 04:48 
Ну вот когда он на это сбежит - тогда и подумаем...

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Гость , 12-Окт-12 09:25 
что-то сомнительно, что бы кто-то сбежал с mysql на сервер написанный на java

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Yarick , 12-Окт-12 10:30 
Ну, например, Twitter пришлось выкинуть MySQL, чтобы повысить скорость поиска в три раза.

http://www.insight-it.ru/masshtabiruemost/kardinalnyjj-perev...


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Yarick , 12-Окт-12 10:42 
:-D !!! Возможно, что Вы будете удивлены, но он таки сбежал.

http://www.insight-it.ru/masshtabiruemost/hbase-v-facebook-1...

http://www.insight-it.ru/tekhnologii/analitika-v-realnom-vre...


" "
Отправлено Аноним , 11-Окт-12 21:38 
>Код OrientDB написан на языке Java
>OrientDB отличается высокой скоростью работы

0_0

Что, правда?
Пришло время ломать стереотипы...


" "
Отправлено Капитан , 11-Окт-12 22:08 
Да, давайте перепишем все на голом си, и диск внезапно станет быстрее вращаться!

" "
Отправлено Аноним , 11-Окт-12 22:51 
> Да, давайте перепишем все на голом си, и диск внезапно станет быстрее
> вращаться!

Кэп, ты про оптимизацию кода вообще и запросов в частности слыхал, не?


" "
Отправлено Аноним , 12-Окт-12 04:48 
> Да, давайте перепишем все на голом си, и диск внезапно станет быстрее вращаться!

А какая скорость вращения у SSD? И на чем вы его вращаете? :)


" "
Отправлено Гость , 12-Окт-12 09:27 
:) :)

" "
Отправлено ... , 12-Окт-12 18:46 
А в каком месте SSD - диск?

" "
Отправлено fi , 14-Окт-12 22:07 
в sata III :)))

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено мимо_проходил , 11-Окт-12 21:42 
>При тестировании производительности, один сервер с OrientDB оказался способен заменить собой 125 серверов MySQL

Опустим MySQL в серную кислоту, а OrientDB в дистиллированную воду.


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено piteri , 11-Окт-12 22:42 
Похоже что оно тоже не умеет инкрементальный бэкап.

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Аноним , 11-Окт-12 22:52 
> Похоже что оно тоже не умеет инкрементальный бэкап.

А должно? Форкни и напиши, делов-то.

PS. BTW, при таких объемах - шибздики - инкременталка тупо не нужна. База на флешку умещается.


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено piteri , 11-Окт-12 23:59 
Нехилая флешка нужна для хранения 19.807.040.628.566.084 Тб.

А вообще я к тому что у nosql c этим массовая проблема, а значит для случаев, когда необходимо надёжное хранилище они не подходят.


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Аноним , 12-Окт-12 04:49 
> База на флешку умещается.

Хорошая у вас флешка однако. Где мне такую же взять?


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено o , 11-Окт-12 23:18 
Вот так почитаешь и подумаешь. Вот оно счастье!
Redis вон заявляют 100тыс запросов в секунду. А эти 150тыс.
А морда не треснет?

Я протестил редис, получилось что 9тыс в секунду только!
Правда в режиме pipeling сразу выросло до 70тыс.
Можно сбпросить на железо. Порядок то тот. Только вот получается цифры указаны для какого то одного смого быстрого и зачастую совсем бесполезного режима работы.

150тыр на запись, это они может быть скорость операции restore замеряли? Причем не на диск а в память.


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено o , 11-Окт-12 23:20 
А еще может это все что с него выжали за 1 секунду работы. К началу второй секунды сервис идет кормить оленей.

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено cijic , 11-Окт-12 23:38 
А Redis разве не в RAM всё хранит?

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Yarick , 12-Окт-12 10:16 
150 - это во встраиваемом режиме на "Tested on a HP Pavilion dv6 with Intel(r) Core i7 720q, 4 GB RAM and HD E-SATA 7.200rpm". Если тестировать в режиме отдельного сервера, то начинает играть роль огромное количество различных факторов.

На http://stackoverflow.com/questions/12205471/orientdb-slow-write один человек тоже тестировал на localhost-е.
Для начала нужны хотя бы отдельные физические машины для сервера и клиента.


"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено o , 12-Окт-12 11:55 
То есть человек получил около 8тыр в секунду. Причем приконектился один раз, потом "дунул" 150тыр запросов и отконектился. Если ли бы он на каждый запрос конетился, вполне возможно что получился бы тот же мускул.
Справедливости ради надо мерять с пулом конектов и конкурентными запросами. Если бы он паралельно запустил 15 таких скриптов по  10тыр в каждом, наверняка бы скорость подросла.

"Новая версия NoSQL базы данных OrientDB 1.2"
Отправлено Yarick , 19-Окт-12 12:32 
На моём Ubuntu Core i7-2600 7200rpm HDD ext4 (встроенный режим, процессор загружен ~15%):

Плоская БД (все значения - строки переменной длины)

[java]    Completed the test of 'LocalCreateFlatSpeedTest' in 7449 ms. Memory used: 48932016
     [java]    Cycles done.........: 1000000/1000000
     [java]    Cycles Elapsed......: 4029 ms
     [java]    Elapsed.............: 7449 ms
     [java]    Medium cycle elapsed: 0.007449
     [java]    Cycles per second...: 134246.2

Документы

[java]    Completed the test of 'LocalCreateDocumentSpeedTest' in 18047 ms. Memory used: 85779248
     [java]    Cycles done.........: 1000000/1000000
     [java]    Cycles Elapsed......: 17656 ms
     [java]    Elapsed.............: 18047 ms
     [java]    Medium cycle elapsed: 0.018047
     [java]    Cycles per second...: 55410.875

Объекты (POJO)

[java]    Completed the test of 'LocalCreateObjectSpeedTest' in 54145 ms. Memory used: 153367592
     [java]    Cycles done.........: 1000000/1000000
     [java]    Cycles Elapsed......: 53027 ms
     [java]    Elapsed.............: 54145 ms
     [java]    Medium cycle elapsed: 0.054145
     [java]    Cycles per second...: 18468.926