关于一个数据操作方案的咨询,谢谢
有这样的一个需求,请各位达达看看,应该如何设计方案比较合理?
目标数据都是用户记录,对用户的行为进行分析。数据表:
tab_a -- 记录用户的活动类型1
tab_b -- 记录用户的活动类型2
tab_c -- 记录用户的活动类型3
现在根据tab_a中用户的一行数据记录,来从tab_b和tab_c中查找有否关联记录。如果有关联,则根据关联得到的信息更新tab_a对应记录。关联标识列都是tempid列,表都有时间列time。
规则:
1、针对一条记录,根据tab_a(tempid)从tab_b/c中查找对应时间前后3分钟的记录,如果存在则获取其location列,更新tab_a的location列。也就是说针对tab_a(tempid)的每一条记录,都有一个时间窗口3分钟来供查找是否有同样tempid的数据记录,如果有则获取找到的记录信息更新teb_a表。
数据量比较大,那么问题来了。我应该如何设计方案来做这个事情呢?在数据库里面通过procedure借助游标实现?还是另外编写一个app进程从数据库里面提取数据出来,分析后再把数据回填到数据库呢?
还请达达们指点,多谢了,这其实就是一个大数据的操作实例。对效率和方案合理性要有个基础思考和设计。