【发布时间】:2012-12-24 15:13:41
【问题描述】:
在我的应用程序中,我需要在 map 中提供数十亿个条目,这需要很长时间才能执行,是否有任何其他替代 map 的方法可以减少执行时间?
【问题讨论】:
在我的应用程序中,我需要在 map 中提供数十亿个条目,这需要很长时间才能执行,是否有任何其他替代 map 的方法可以减少执行时间?
【问题讨论】:
对于数十亿的东西,答案可能是将它们放入数据库并使用范围索引来处理它们。使用https://github.com/marklogic/semantic/ 或至少借用它的一些概念可能是合适的。
【讨论】:
我同意贾斯汀的观点,更多细节将有助于给出更准确的答案..
一般来说,map:map 的主要问题是它需要在每次执行模块时进行初始化。对于许多条目,明智的做法是将 map:map 完全存储在某个地方,以加快速度。您可以将它放在服务器字段中,因此只需要在重新启动后重新计算。您也可以将其存储在数据库中,但这需要数据库往返来检索它。
但是,具有十亿个条目的 map:map 可能根本无法正常运行。作为替代方案,您可以将每个条目作为单独的文档存储在数据库中。 MarkLogic 可以很好地处理这个问题。您可以使用 cts 函数来检索适当的条目。索引保存在内存中,以便非常快速使用它们..
HTH!
【讨论】: