我在我的项目中使用OrientDB,我真正关心的是性能。我创建了大数据来测试它,有50万人和50万个利益,以及人与人之间的随机关系(2 496 540关系),以及人与利益(3 322 060关系)。
我需要做的是遍历顶点和边。我试过Gremlin。 对于朋友少于100的朋友,共同的朋友需要大约10-20秒,但如果一个人有成千上万的朋友,这不行,需要花费太多时间。
g.v(id).both('KNOWS').as('here').both('KNOWS').has('id', '10:20').back('here').dedup.email
对于朋友少于100的朋友,建议朋友的推荐时间大约需要40-50秒,但是当一个人有数千名朋友的时候也是如此。
x=[g.v(id)];g.v(id).both('KNOWS').aggregate(x).both('KNOWS').except(x).dedup.email
这是OrientDB快速进行这种遍历的任何方式吗?
OrientDB SQL遍历只支持深度优先遍历,似乎不可能在两个人之间找到共同的朋友,而且朋友的推荐很复杂。我错过了什么吗?
感谢您的回答!
答案 0 :(得分:0)
为什么不从10:20开始并从那里跨越关系而不是浏览所有数据库检查该顶点是否与10:20相关?