将数据关系存储在文件中以便快速读取?

时间:2015-08-06 20:16:43

标签: data-structures

我的任务是找到解决以下真实问题的方法,我对如何解决它感到困惑。

我们拥有1亿个数字和10亿个数字数组(每个数组最多可容纳1000个唯一数字)。

我们选择1.000随机数。我们正在尝试查找包含超过1个1.000数字的数组的ID。如果有超过10,000个这样的数组,我们只需要第一个10.000。

在每个数字的文件中,我们存储出现数字的数组的ID。我们可以通过读取每个数字的所有数组ID并处理它们来解决问题。但是这些ID每个都是8个字节,所以如果我们的数字出现在每个数组上,我们需要读取每个数字8 * 10亿= 8GB的数据。如果我们采取更糟糕的情况,我们需要从HDD 8GB * 1.000 = 8TB读取。这需要数天,而不是1秒。

问题:如何在1秒(或几秒钟)内完成此操作而不是几天?

提示:似乎我的问题类似于搜索引擎所面临的问题。我没有这方面的经验,但有人在这里真的很有帮助。

0 个答案:

没有答案