近期在尝试写搜索引擎,全文检索,分词,数据缓存问题一个接一个。现在遇到了一个非常“简单”的问题,就是对千万级的数据进行排重检查(查看一条URL或者hash值是否已经在需要处理的队列当中)。昨天通宵查了一夜的资料,网上资料主要提供了几种排重方案:
1.关系型数据库排重(千万级数据这就是作死的节奏啊,肯定排除);
2.Bloom filter快速排重算法
3.NoSQL(使用Redis的set进行排重)
我需要排重的其实就是一串种子文件的HASH值,据说Bloom filter有误差,Redis没有使用过。具体选用哪种进行排重已经头晕了,同学们有什么建议?
P.S. 更倾向于NoSQL的那个方案,但是我没有使用过NoSQL的数据库,不知道MongoDB和Redis选用哪个更合适,望指教。
1.关系型数据库排重(千万级数据这就是作死的节奏啊,肯定排除);
2.Bloom filter快速排重算法
3.NoSQL(使用Redis的set进行排重)
我需要排重的其实就是一串种子文件的HASH值,据说Bloom filter有误差,Redis没有使用过。具体选用哪种进行排重已经头晕了,同学们有什么建议?
P.S. 更倾向于NoSQL的那个方案,但是我没有使用过NoSQL的数据库,不知道MongoDB和Redis选用哪个更合适,望指教。

