读书人

亿级数据处理有关问题

发布时间: 2013-01-07 10:02:24 作者: rapoo

亿级数据处理问题
求教一下~~ ,

现在的情况是: 每天要处理的数据量是15亿条,
然后数据的所有种类估计只有15万,
主要操作是查找和添加(如果该种类不存在),
但是要处理的数据的有多个关键字段(用来标示不同的数据),
(可以hash么?)

这样的话什么样的数据结构比较好呢?

各位不吝赐教啊,~~
[解决办法]
问题需要描述得更详细点才行:

每个字段是什么格式?
数据种类是用什么表示?ID?字符串?或通过多个字段计算出来?
种类相同怎么判断?完全相等?
。。。。。。。。。。。。


[解决办法]
15亿条,15万个种类。。按照楼上的描述,种类和数据条目存在至少两层一对多关系,所以应该选择某种树型结构。不知道数据本身是不是还有相近的地方,比如开头之类的,15亿条数据相信有些类似的地方。那么用字典树应该可以大致提高效率。
[解决办法]
如果不介意效率的话,可以作成字符串,用string的哈希函数
如果介意效率,就自己写一个函数。一般来说,多用位运算,多用异或,可以使得信息尽量分散,也就具有更好的哈希效果。
[解决办法]
给lz提供一个简单hash的思路,首先把所有字符串拼在一起(非字符串按照字符串处理),然后调用MD5算出一个2^128之内的整数hash,然后取后64位,转为long的hash,就可以应用hashset这类现成的东西了。

引用:
可以给出个具体点的解决方案么? string的话太长了..不好弄啊,

读书人网 >软件架构设计

热点推荐