Как распараллелить чтение на JanusGraph с Foundation Db в качестве хранилища и Es в качестве хранилища индекса - PullRequest
0 голосов
/ 03 февраля 2020

Я использую janusgraph с foundationDb [упорядоченное хранилище значений ключей]. Когда размер моей вершины> 10 ^ 4 и размер ребра> 10 ^ 7, время ожидания запроса истекает через 30 секунд. Я хочу оптимизировать свои операции чтения, требующие упорядочения по eventTime [in long] и range (), где ограничение диапазона <500. </p>

  • Использование составного / смешанного индекса не работает после out (). Кроме того, для индекса вершинного центрирования c необходимо, чтобы данные располагались по краям вместе с упорядочением. Мой вариант использования запроса может быть любого порядка
  • Попытка увеличить размер storage.page до 10 ^ 4, но по-прежнему создается много транзакций для извлечения данных
  • tinkerpop поддерживает запрос olap, который использует bfs и, следовательно, распараллелен. Можно ли использовать withComputer () без hfds / spark?
  • есть ли другой способ распараллелить запросы к бэкэнду?
  • есть ли способы индексировать параметры, чтобы запросы на основе out () могли быть оптимизированы?
  • Существует 6 экземпляров janusGraph, и включение кэширования будет считывать грязные ссылки. Моему бизнес-требованию требуется постоянное чтение.

Пример запроса, который я хочу выполнить:

g.V().has("indexedProperty","Foo").and(out().has("x","00").has("y","01")).select("foo").order().by("eventTime", Order.desc).range(0,100).valueMap().toList()

У меня смешанный индекс для свойства indexedProperty.

...