服务架构-storage服务-切边与存储放大
根据文档和图片说明,源点和目标点之间存在的边关系中, 边会存储在两个partition当中, 且以in和out的反向关系存储, 试问如果我是对两个点之间的边关系是确定的(正向或者反向)话, 是否可以考虑只去存储对应的一个partition数据就行呢?
感谢社区耐心解答
服务架构-storage服务-切边与存储放大
根据文档和图片说明,源点和目标点之间存在的边关系中, 边会存储在两个partition当中, 且以in和out的反向关系存储, 试问如果我是对两个点之间的边关系是确定的(正向或者反向)话, 是否可以考虑只去存储对应的一个partition数据就行呢?
感谢社区耐心解答
这里其实是空间换时间的思想。
试想一下,按照你说的,只存一个方向的边。比如只存正向边。
那查找以某个顶点作为目的点的边,需要全表扫描了,性能肯定很慢。
但是如果此时也存储了反向边,直接去该目的点对应的part,然后查找edgetype是负数的就行了。效率有了很大的提升。
多提一个问题
这种保存类似双向关系的边数据, 我在查询时候是否可以指定为单向的有向图作为展示呢
可以的。go语句可以执行 边的方向的
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。