aggregation and mapReduce
use MapReduce