Обход графика Datastax занимает больше времени, чем ожидалось?

Привет, я просматриваю график с помощью гремлина, и мой запрос следующий

g.V().match(
  __.as("BaseVehicle").outE("year").as("year"),
  __.as("BaseVehicle").outE("make").as("make"),
  __.as("BaseVehicle").outE("model").as("model"),
  __.as("year").has("Year","1982"),
  __.as("make").has("MakeName","BMW"),
  __.as("model").has("ModelName","R65")
).select("BaseVehicle").by("BaseVehicleID")

Приблизительно 20 секунд на выполнение. почему это занимает так много времени?

Схема следующая

   schema.propertyKey("BaseVehicle").Int().single().create()
    schema.propertyKey("ModelName").Text().single().create()
    schema.propertyKey("YearID").Int().single().create()
    schema.propertyKey("MakeID").Int().single().create()
    schema.propertyKey("BaseVehicleID").Int().single().create()
    schema.propertyKey("Year").Int().single().create()
    schema.propertyKey("MakeName").Text().single().create()
    schema.propertyKey("ModelID").Int().single().create()
    schema.edgeLabel("year").multiple().properties("BaseVehicle", "Year").create()
    schema.edgeLabel("model").multiple().properties("ModelName", "BaseVehicle").create()
    schema.edgeLabel("make").multiple().properties("MakeName", "BaseVehicle").create()
    schema.vertexLabel("BaseVehicle").properties("BaseVehicleID").create()
    schema.vertexLabel("BaseVehicle").index("byBaseVehicleID").materialized().by("BaseVehicleID").add()
    schema.vertexLabel("Year").properties("YearID").create()
    schema.vertexLabel("Year").index("byYearID").materialized().by("YearID").add()
    schema.vertexLabel("Year").index("YearByBaseVehicle").inE("year").by("Year").add()
    schema.vertexLabel("Model").properties("ModelName", "ModelID").create()
schema.vertexLabel("Model").index("byModelID").materialized().by("ModelID").add()
    schema.vertexLabel("Model").index("ModelByBaseVehicle").inE("model").by("ModelName").add()
    schema.vertexLabel("Make").properties("MakeName", "MakeID").create()
    schema.vertexLabel("Make").index("byMakeID").materialized().by("MakeID").add()
    schema.vertexLabel("Make").index("MakeByBaseVehicle").inE("make").by("MakeName").add()
    schema.edgeLabel("year").connection("BaseVehicle", "Year").add()
    schema.edgeLabel("model").connection("BaseVehicle", "Model").add()
    schema.edgeLabel("make").connection("BaseVehicle", "Make").add()

person Rajni Kant Sharma    schedule 23.09.2016    source источник


Ответы (1)


Не могли бы вы запустить этот запрос, используя элемент .profile(), чтобы понять узкое место? Кроме того, как выглядит ваше оборудование? И сколько у вас вершин и ребер?

person jlacefie    schedule 26.09.2016
comment
У меня есть примерно 3 лаковых вершины и 22 лаковых ребра. из .profile() я вижу первый оптимизатор запросов, а первый MatchStartStep занимает почти 95% времени запроса. - person Rajni Kant Sharma; 17.10.2016
comment
Раджни, это было решено для вас? В противном случае вы можете связаться с Диего, менеджером по работе с клиентами стартапа, чтобы мы могли продолжить это по электронной почте? - person peytoncas; 15.11.2016