我们有一个由多个 PostgreSQL 数据库组成的系统。每个数据库都有相同的表,即模式,但只承载数据的一部分(而不是完整的数据!)。分发数据的原因是我们的客户运行相当复杂的查询并执行多达 100 次计算每行。
通过将数据分布到多个数据库,我们希望减少每个数据库处理的工作量,并最终加快搜索速度。最后,我们结合每个数据库的结果来创建最终结果。
我的一个朋友建议查看 MapReduce (Hadoop)。在我看来,map-reduce 仅在单个工作人员共享相同的数据但对其执行不同类型的工作时才有意义(对应于多指令,单数据)。
然而,在我们的例子中,worker 应该执行相同的任务,但是对不同的数据执行该任务(对应于单个指令,多个数据)。
MapReduce (Hadoop) 对于在不同数据上执行的范式相同任务是否有意义?