Algorithm 超大数据集上的二进制搜索

Algorithm 超大数据集上的二进制搜索,algorithm,search,bigdata,binary-search,Algorithm,Search,Bigdata,Binary Search,如何对一台计算机上无法存储的大型数据集执行二进制搜索 数据将来自哪个数据存储?NoSQL 这些数据是存在于RAM还是磁盘中 你怎么知道需要多少台计算机 是否需要某种主计算机从每个计算机节点获得答案 另一方面,我们非常感谢您为了解此类问题提供的任何资源。您了解hadoop吗?也许普通数据库就足够了?数据库中的索引是经过优化的结构,用于在不适合内存的非常大的数据集上执行搜索。需要更多信息。数据集是否在磁盘上、在一台计算机上排序?搜索需要多快?你能在内存中加载一个索引(仅仅是键)并搜索它吗?当找到最后

如何对一台计算机上无法存储的大型数据集执行二进制搜索

  • 数据将来自哪个数据存储?NoSQL
  • 这些数据是存在于RAM还是磁盘中
  • 你怎么知道需要多少台计算机
  • 是否需要某种主计算机从每个计算机节点获得答案

  • 另一方面,我们非常感谢您为了解此类问题提供的任何资源。

    您了解hadoop吗?也许普通数据库就足够了?数据库中的索引是经过优化的结构,用于在不适合内存的非常大的数据集上执行搜索。需要更多信息。数据集是否在磁盘上、在一台计算机上排序?搜索需要多快?你能在内存中加载一个索引(仅仅是键)并搜索它吗?当找到最后一条记录时,你只能在磁盘上搜索它?加载一个部分索引(比如,每16条记录一次),这样您就可以搜索索引来缩小范围,然后从磁盘加载16条记录来完成搜索?有很多选择,但如果有的话,哪种选择是适用的取决于数据的性质和性能目标。为什么您认为需要二进制搜索?你只需要在数百万或数十亿个元素中快速找到一个元素,对吗?二进制搜索是一种在内存中快速搜索的方法,但正如其他评论员所说,当数据不适合内存时,RDBMS对此进行了高度优化。几乎所有的索引都使用B-树或B+树索引,当使用随机访问时间较慢的介质时,这些索引更有效。