This repository has been archived by the owner on Aug 31, 2023. It is now read-only.
Replies: 1 comment
-
vertex-centic index (VCI)基于 edge 属性来对边进行排序。当有一个查询输入到该 edge 属性的过滤器中时,如果我们对它进行了排序,那么从匹配的edge中将其选中会更快。如果未对它们进行排序,则需要遍历所有入射边缘,以确定是否满足匹配条件。
原文:https://groups.google.com/g/janusgraph-users/c/y-sz-Cq-Ykc/m/twijM8W1BwAJ 个人理解(不一定正确,还需要看源码来确定,欢迎讨论): // 建VCI
management.buildEdgeIndex(battled, "battlesByTime", Direction.BOTH, Order.desc, time);
// 触发VCI 的查询
g.V(12528).outE("battled").has("time", inside(10, 50)).toList() 个人理解,所谓的默认创建VCI只是将相同的边Label放在一起,相比遍历所有边有一定加速效果,但是对单个Label内部边属性的查询是没有优化效果的,如果自定义了边属性排序,则存储在HBase的时候会按照边属性的值来排序,那么在检索的时候就可以限制边属性值的范围来快速找到我们需要的值。所以VCI的加速原理是对HBase的过滤器增加过滤条件,减小过滤范围,减少扫描的数据。 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
https://docs.janusgraph.org/index-management/index-performance/
Beta Was this translation helpful? Give feedback.
All reactions