1

Тема: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

Отчёт о пузомерке просто радует глаз. Во-первых, прогресс в отрасли очевиден: теперь соревнования идут на объёмах данных, которые ещё недавно многим казались "проблемными". Во-вторых, всегда приятно чего-нибудь выиграть smile Virtuoso выиграла все 8 "забегов", и хотя на одном клиенте появился очень серьёзный соперник в виде 4store,  при большем числе клиентов разрыв хорошо заметен.

Dataset Size 100M

           Number of clients
              1      4      8     64
4store     5589      *      *      *
BigData    2428   4153   4286   4136
BigOwlim   3534   9349  12798  15285
TDB        2274   4065   3035   2242
Virtuoso   7352  25194  36269  18008


Dataset Size 200M

           Number of clients
              1      4      8     64
4store     4593      *      *      *
BigData    1795   3040   3167   2689
BigOwlim   1795   3713   4041   3622
TDB        1443   2206   1474     **
Virtuoso   4669  13265  18264  16564

Звёздочки означают технические проблемы, и, как следствие, незачёт. Когда 4store устранит проблемы, можно будет устраивать тотализатор smile

Всерьёз, правда, воспринимать это не стоит. 200M этой базы по размеру соответствуют 1% от lod.openlinksw.com , у других участников тоже есть базы куда большего размера. С другой стороны, в пузомерке вместо дорогого оборудования использовалась "комодная" машина:

Processors: Intel i7 950, 3.07GHz (4 cores)
Memory: 24GB
Hard Disks: 2 x 1.8TB (7,200 rpm) SATA2.

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

Интересная информация. Я какраз сейчас занимаюсь написанием нового хранилища для SC-кода в рамках проекта OSTIS.
Теперь есть с чем сравнивать. Спасибо.
Интересуют следующие вопросы:
- я так понимаю, такое большое время загрузки БЗ обусловлено тем, что она хранится в текстовой форме в виде троек, и основное время тратися на склейку синонимичных элементов?
- к сожалению на данном этапе я пока не дошел до поиска, но скоро скажу результаты. Вопрос касательно поиска таков: отражена статистика по количеству запросов в секунду, что выдается в результате поиска? Итератор, список или еще что-то?
- и если есть у кого возможность оценить производительность. В текущем хранилище я получил следующие результаты на добавление узлов:  28.914721 секунд для 15000000 узлов. Нормальный ли это показатель или же он и рядом не стоял с современными хранидищами rdf?

3

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

DenisKoronchik пишет:

- я так понимаю, такое большое время загрузки БЗ обусловлено тем, что она хранится в текстовой форме в виде троек, и основное время тратися на склейку синонимичных элементов?

В данном случае при загрузке Виртуозы был использован неподходящий скрипт.
http://www.openlinksw.com/weblog/oerling/ , в частности http://www.openlinksw.com/dataspace/oerling/weblog/Orri%20Erling's%20Blog/1663 содержит более правильные цифры.

DenisKoronchik пишет:

Вопрос касательно поиска таков: отражена статистика по количеству запросов в секунду, что выдается в результате поиска? Итератор, список или еще что-то?

Полный sparql-results XML, как HTTP ответ на HTTP запрос. Через ODBC/IODBC/JDBC было бы побыстрее.

DenisKoronchik пишет:

- и если есть у кого возможность оценить производительность. В текущем хранилище я получил следующие результаты на добавление узлов:  28.914721 секунд для 15000000 узлов. Нормальный ли это показатель или же он и рядом не стоял с современными хранидищами rdf?

Разумно сначала уточнить оборудование, уровень изоляции и тип хранилища. Для толстого ящика цифра, конечно, маловата, на нём при удаче за это время можно загрузить не 15М узлов, а 15М квадов.

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

Разумно сначала уточнить оборудование, уровень изоляции и тип хранилища. Для толстого ящика цифра, конечно, маловата, на нём при удаче за это время можно загрузить не 15М узлов, а 15М квадов.

На текущий момент пока нет параллелизма, да и не загрузка это вовсе, а действительно добавление узлов во время работы системы.
Что касается железки, то это обычный ноутбук с intel core i3 4 ядра, частота в районе 1,4-1,8 Гц. С 4 гигами оперативки на борту. Тесты проводились по ubuntu 10.10 32 bit. По мере появления новой информации, по мере написания кода и новых тестов я буду сообщать. Хочу просто быть вкурсе не сильно ли отстаю по быстродествию.

Вопрос возвожно глупый. Что такое квад? В чем он измеряется?

Отредактировано DenisKoronchik (2011-03-04 16:51:25)

5

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

DenisKoronchik пишет:

Что такое квад? В чем он измеряется?

RDF quad --- четвёрка Graph-Subject-Predicate-Object --- почти то же, что RDF triple --- Subject-Predicate-Object . Большинство triple store хранят всё же не один граф, а много, поэтому полей в записи чаще четыре, чем три, но обычно говорят о квадах, если хорошо подерживаются запросы к многочисленным и неизвестным "заранее" графам. Такая поддержка требует дополнительных индексов, поэтому в некоторых системах сочли практичным пожертвовать ей ради плотности хранения и скорости.

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

iv_an_ru пишет:
DenisKoronchik пишет:

Что такое квад? В чем он измеряется?

RDF quad --- четвёрка Graph-Subject-Predicate-Object --- почти то же, что RDF triple --- Subject-Predicate-Object . Большинство triple store хранят всё же не один граф, а много, поэтому полей в записи чаще четыре, чем три, но обычно говорят о квадах, если хорошо подерживаются запросы к многочисленным и неизвестным "заранее" графам. Такая поддержка требует дополнительных индексов, поэтому в некоторых системах сочли практичным пожертвовать ей ради плотности хранения и скорости.

ясно так и думал... По сути надо ориентироваться на скорость загрузки троек...
Как только будут готовы тесты сразу отпишусь... У нас тройки - трехэлементные конструкции узел-дуга-узел(дуга)

7

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

iv_an_ru пишет:

Отчёт о пузомерке просто радует глаз. Во-первых, прогресс в отрасли очевиден: теперь соревнования идут на объёмах данных, которые ещё недавно многим казались "проблемными". Во-вторых, всегда приятно чего-нибудь выиграть smile Virtuoso выиграла все 8 "забегов", и хотя на одном клиенте появился очень серьёзный соперник в виде 4store,  при большем числе клиентов разрыв хорошо заметен.

Virtuoso крут, спору нет. Мы надеемся примерно к ноябрю представить наш Stardog. Я сейчас в одиночку как раз занимаюсь оптимизацией движка SPARQL. Вот вчера на 100M мы наконец начали обгонять всех кроме Virtuoso и 4store. С многими клиентами пока плохо, просто не хватает людей этим заняться. Как и многими фичами SPARQL 1.1

Собственно, мы не позиционируем Stardog как конкурент Virtuoso или как БД для наборов данных больше 1B (по крайней мере пока).

PS. Кстати, BSBM - очень специфический бенчмарк. Там все индекс-сканы отличаются супер-селективностью, поэтому скорость джойнов определяет не так и много (могу ошибаться, но TDB вроде вообще делает только nested loops). Там главное выбрать правильный порядок BGP в плане и быстро работать с диском. Для, скажем, SP2B результаты сильно другие (Virtuoso наверняка всех побьет, но, скажем, TDB умирает на многих запросах даже на 5M).

8

Re: Virtuoso в третий раз лидирует в The Berlin SPARQL Benchmark (BSBM).

С тех пор изменилось достаточно много, и скорость/масштабируемость у нас существенно подросли. Кластерная версия, опять же, для максимальных размеров. Но при этом у нас по-прежнему околонулевые возможности inference. Так что вы полностью правы: в итоге получаем продукты, не конкурирующие друг с другом вообще.

В общем, нас и наших клиентов за любовь ко всему самому-самому большому надо Фрейду сдать на опыты, а у вас больше вырисовывается немецкая философская школа, с приматом разума smile