首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

亿级数据处理有关问题

2013-01-07 
亿级数据处理问题求教一下~~,现在的情况是: 每天要处理的数据量是15亿条,然后数据的所有种类估计只有15万,

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

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

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

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


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

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

热点排行