- nebula 版本:nebula 1.1.0
- 部署方式:单机
- 硬件信息:内存:64G,500GB SSD
- 问题的具体描述
我创建了space并导入了样例数据,在使用GO语句查询一个点相关的连通图的时候,遇到了查询性能问题,查询到的连通图可能存在环,并且最大跳数不受限制。
查询的图包含了一种TAG和一种EDGE
TAG:bundle
EDGE: bundle_direct_dependencies_bundles
该EDGE是两个bundle之间的单向边。
图中存在环,图中点之间会有多跳(最多可达15跳),但也可能将会更多。
我的期望目标是:查询指定bundle节点依靠bundle_direct_dependencies_bundles边的全部可达节点,包括间接可达的节点。
GO 1 TO M STEPS FROM hash("123456786479.bytes") OVER bundle_direct_dependencies_bundles YIELD DISTINCT YIELD DISTINCT bundle_direct_dependencies_bundles._dst;
问题就在于上面语句中M
的取值,它应该是连通图中最远两顶点之间的的最大跳数,但我尝试为M
取一个尽可能大的数值时(比如取10),查询耗时变得非常的漫长,需要非常久才返回结果。但如果M取小的值,查询将不符合我的初衷(查询该节点所在的全部可达节点,包括间接可达的节点)。我想求助一下,nebula是否有更好的方式原生的支持这种查询需求,否则我将需要在程序中多次查询来实现。