0

在我的应用程序中,我需要在 map 中提供数十亿个条目,这需要花费大量时间来执行,是否有任何其他的 map 替代方案可以减少执行时间?

4

2 回答 2

2

对于数十亿的东西,答案可能是将它们放入数据库并使用范围索引与它们一起工作。使用https://github.com/marklogic/semantic/或至少借用它的一些概念可能是合适的。

于 2013-01-10T19:52:36.067 回答
1

我同意贾斯汀的观点,更多细节将有助于给出更准确的答案。

一般来说,map:map 的主要问题是它需要在每次执行模块时进行初始化。对于许多条目,明智的做法是将 map:map 完全存储在某个地方,以加快速度。您可以将它放在服务器字段中,因此只需要在重新启动后重新计算。您也可以将其存储在数据库中,但这需要数据库往返来检索它。

但是,具有十亿个条目的 map:map 可能根本无法正常运行。作为替代方案,您可以将每个条目作为单独的文档存储在数据库中。MarkLogic 可以很好地处理这个问题。您可以使用 cts 函数来检索适当的条目。索引保存在内存中,以便非常快速地使用它们。

于 2013-01-10T19:26:32.253 回答