论坛首页 Java企业应用论坛

java两表大数据量明细对比问题

浏览 15520 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-11-16  
xukunwzq 写道
须等待 写道
同意2楼的看法,既然连对账的规则都不一样,是没有办法做到很简单的来对账的,这和业务的相关性太大

建议把每种对账规则封装成一种服务,尽可能重用,至于底层的数据,还是保留源数据



是的,根据对账规则可能是要做全量匹配循环的,数据库处理 基本上是不行了,有的规则索引是不起作用的,现在的想法是牺牲内存, 将两边数据分成很多对进行处理,然后错开再比对,如 1-1 2-2 .... 再 1-2 2-3 ... 比对成功的数据就去除掉,A方所有份数据和比方比对完之后就结束任务。 内存量很大也是个很头疼的问题。也想用redis来做缓存数据存储,但是比对还是得把数据捞到应用上处理,内存也节省不了多少


对账的话,应该是可以理解为多列多规则的连接查询吧,如果你们数据增量不大的话,还是可以考虑用redis做内存数据库,然后所有的对账都走内存来做,这样只在内存保留一份数据,可行性上比较高,反正你这是离线的分析,所以时间上应该不是问题。

如果数据增量大的话,还是建议上Hadoop吧,多列多规则的连接,本身和Hadoop、M-R的计算模型还是比较相似的,算是一劳永逸的解决方案。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics