首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于在非常大的数据集中快速高效地搜索项目列表的建议/意见

关于在非常大的数据集中快速高效地搜索项目列表的建议/意见
EN

Stack Overflow用户
提问于 2012-02-22 16:34:54
回答 1查看 145关注 0票数 1

请评论和评论该方法。

场景:我在一个平面文件中有一个大型数据集(2亿条目)。数据是表格-一个10位数的电话号码,后面是5-6个二进制字段.每周我都会得到一个Delta文件,它只包含对数据的更改。

Problem:给出一个项目列表,我需要知道每个项目(这将是10位数)是否存在于数据集中。

我计划的方法是

  • 将解析数据集,并将其作为DB(将在一周开始时完成),如MySQL或Postgres。我希望在第一步拥有关系数据库管理系统的原因是我希望拥有完整的时间序列数据。然后,
  • 用最新的有效数据从数据库中生成某种键值存储,这些数据支持操作,以确定数据集中是否存在每一项(考虑某种NOSQL,如Redis,用于搜索)。应该具有持久性和可分发性)。这个数据结构将是read-only.
  • Query这个键值存储,以确定每个项是否存在(如果可能的话,一次匹配一个值列表,而不是一次匹配一个项)。希望这件事快点爆发。API

将使用此功能作为REST 的后端。

:我最喜欢的语言是

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-22 22:32:09

快速查找的几个注意事项:

如果您想一次检查一组数字,可以使用执行set intersection.

  • You的Redis SINTER,通过在某些哈希函数(例如电话号码的第一位数)上分配数字范围(可能有更好的数字,您必须进行实验),这将使每个节点的大小在使用最优散列时减少到近2000万个条目。如果您期望重复请求,则

  • 非常有可能,您可以将最后n个请求的电话号码缓存在一个较小的集合中,并首先查询其中一个.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9398951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档