2

我在我的项目中使用 OrientDB,我真正关心的是性能。我创建了大数据来测试它,有 500 000 人和 500 000 个兴趣,以及人和人之间的随机关系(2 496 540 个关系),以及人和兴趣(3 322 060 个关系)。

我需要做的是遍历顶点和边。我试过格雷姆林。对于朋友少于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遍历只支持深度优先遍历,两个人之间似乎不可能找到共同好友,好友推荐复杂。我错过了什么?

感谢您的回答!

4

1 回答 1

0

为什么不从 10:20 开始并从那里交叉关系,而不是浏览所有数据库检查该顶点是否与 10:20 相关?

于 2013-01-31T08:11:27.337 回答