【发布时间】:2011-04-18 02:47:32
【问题描述】:
在与 MySQL 发生不幸的不幸之后,我最终放弃了使用它。
我有什么?
以下格式的大量文件:
ID1: String String String String
ID2: String String String String
ID3: String String String String
ID4: String String String String
我做了什么?
在一台功能强大的机器上使用 MySQL 以下列形式将所有内容导入数据库:
ID1 String
ID1 String
ID1 String
ID1 String
...
...
发生了什么?
数据库导入成功。索引失败是因为显然它需要超过 200 GB 才能存储 20 亿条记录。合理的请求,但我根本没有那么多空间,因为表本身在规范化后占用了大约 240 GB。
我打算做什么?
我有一个由 20 个节点组成的集群,所有节点的总访问量约为 80GB(它们都具有 NFS 挂载)。我使用Parallel Python 为分布式计算设置节点。我打算重写我的逻辑以利用集群的力量。
我的问题:
我需要做很多以下类型的查找:
哪些 ID 包含给定的字符串?
例如,给定一个任意字符串:“String1”,我需要知道“ID1,ID2234”包含它。
我目前知道两种方法:
- 使用python调用grep
- 20 个中的每一个 节点控制一组 文件并根据搜索请求, 搜索他们的关联文件。
有人可以提出一个好方法来加快这项原本效率低下的任务吗?
【问题讨论】:
标签: python search indexing distributed cluster-computing