MapReduce is a style of programming model getting popular with the emergence of easily accessible distributed cloud computing. It is a programming paradigm that allows massively parallel execution and brings in the scalability required for processing huge amounts of data within desired time frames.
As for the definition, here is a quote from an abstract of the initial paper on MapReduce from Google; it says:
"MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key.
Programs written in this functional style are automatically parallelized and executed on a large cluster of commodity machines."
The abstract also states that the runtime system, which will be a part of the MapReduce framework, will take care of the...