MapReduce is a programming model or algorithm for data processing using a parallel programming implementation that was originally used for academic purposes related to parallel programming techniques.