2

我已经开展了一个项目,该项目跟踪用户可以从哪里购买商品的商店。我决定使用 Neo4j 作为数据库。

这是我想到的数据库的一部分:每个商店都有一个节点,每个节点都有子节点,用于存储该商店中可用的物品。

考虑这种情况:现在一个特定的用户(他总是去一个特定的商店购买他所有的物品)想知道他可以从哪里获得他想要购买的所有(或最大)数量的物品的替代商店。

问题在于,对所有商店及其所有商品进行详尽搜索,然后进行匹配将占用大量空间/时间。是否有任何程序/算法可以帮助我以最小的空间/时间成本解决这个问题?

PS:请注意,我只想坚持使用 Neo4j,因为它非常有效地解决了许多其他数据库问题。

4

1 回答 1

3

您的用例实际上非常适合图形数据库。我可以建议您将您的项目实施为主节点并将它们连接到您的商店吗?

使用Indexing Service索引您的存储节点。这将使您快速查找商店,然后遍历任何特定项目。获取一个项目的所有其他商店也只是在这一点上的边缘遍历。

希望这可以帮助。

于 2011-06-10T16:41:37.573 回答