gpt4 book ai didi

mongodb - 用于高效大规模图遍历的数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:17:53 25 4
gpt4 key购买 nike

我有一个大型二分有向图数据集(约 2000 万个元素)。在目前的使用中,我运行的遍历算法每次运行约 500,000 个节点。这些算法有效,但历史上会耗尽从文本文件加载到内存中的数据。

文本文件似乎是一种糟糕的方法,所以我将数据作为邻接表传输到 mongoDB,即。

{ _id: 1, children: [2, 3] }
{ _id: 2, children: [4] }
{ _id: 3, children: [5, 6, 7] }

这行得通,但我觉得这个模型对于我正在做的事情来说效率很低。在伪代码中,从 _id: 1 开始的广度优先搜索的查询结构如下所示:

children = getChildren(_id = 1)
for child in children
grandchildren = getChildren(_id = child)
// etc., either recursively or as a nested loop

我遇到的数据库问题是没有逻辑连接节点。每个查询都必须遍历索引树,如果我没记错的话,它是 O(log N)。加载后的文本文件方法是 O(1),因为我可以制定一些简单的查找规则直接指向节点子节点。

TL;DR 有没有办法使用数据库在 O(1) 时间内遍历大型网络?

最佳答案

您可以尝试使用 Neo4J ,一个 NoSQL 图形数据库。我没有使用过它,但它保证了高性能。

关于mongodb - 用于高效大规模图遍历的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10688745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com