数据处理和更新所选记录

时间:2013-07-24 18:34:31

标签: parallel-processing nosql mapreduce bigdata data-processing

基本上,所需的工作是数据库上的大量记录,并且可以一直插入更多记录:

选择< 1000>状态为“NEW”的记录 - >处理记录 - >将记录更新为“DONE”状态。

这听起来像“Map Reduce”。

我认为上述工作可以并行,甚至由不同的机器完成,但后来关注的是:

当我选择< 1000>时状态为“NEW”的记录 - 我怎么知道这些记录中没有一个已被其他工作处理过?

当然不应该多次选择和处理相同的记录。 表现至关重要。 天真的解决方案是在循环中完成上述基本工作。

似乎与大数据处理/ nosql / map reduce等有关。

由于

1 个答案:

答案 0 :(得分:0)

自从考虑性能问题......我们可以实现这一目标。主要目标是将记录分发给客户,使客户获得相同的记录。 我不管数据库......

  1. 如果您还有一列用于锁定记录。因此,在获取这些记录时,您可以设置锁定,以防止获取发送时间。

  2. 但是如果你没有这样的能力,那么我的赌注就是创建另一个表或im-memory键值存储,使用Record主键和锁定,并在获取需要检查的记录时记录在其他表中不存在....

  3. 如果您有HBase,那么可以轻松实现第一种方法可以实现性能。