Запрос Gremlin count () в Datastax выполняется слишком медленно - PullRequest
0 голосов
/ 15 мая 2018

У меня есть 3 узла в Datastax Enterprise и загружено 65 миллионов вершин и ребер на них. когда я использую dse studio или gremlin console и запускаю запрос gremlin на моем графике, запрос выполняется слишком медленно. Я определил любой вид индекса и протестировал снова, но не имел никакого эффекта когда я запускаю запрос, например, «g.v (). count ()», использование процессора и средняя загрузка процессора практически не меняются, а если я выполняю запрос cql, это распределяется по всем узлам, и использование процессора и среднее значение загрузки процессора по всем узлам являются существенным изменением. Какова лучшая практика или лучшие конфигурации для эффективного запроса gremlin в этом случае?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

count() обходы должны выполняться через OLAP с Spark для графиков размера, с которым вы работаете. Если вы используете стандартные обходы на основе OLTP, вы можете ожидать долгое время ожидания для этого типа запроса.

Обратите внимание, что это правило справедливо для любого вычисления графа, которое должно выполнить "сканирование таблицы" (т.е. коснуться всех или очень большой части вершин / ребер графа). Эта проблема также не относится к графику DSE и будет применяться практически к любой базе данных графиков.

0 голосов
/ 16 мая 2018

После многих тестов по различным запросам я пришел к выводу, что у гремлина, похоже, есть проблема с запросом подсчета на миллион вершин, когда вы определяете индекс по свойству вершин и находите конкретный вертик, например ** gV (). hasLabel ('member'). has ('C_ID', '4242833') ** время этого запроса меньше 1 секунды, и это приемлемо. вопрос здесь, почему у gremlin есть проблема с запросом на миллион вершин?

...