Practice this topic in a realistic system design interview
When a dataset is too large for one machine, the work has to be split across many machines. That sounds simple until you have to decide where each piece of data goes, which machine should process it, how data moves between machines, and what happens when a worker fails halfway through.
MapReduce simplifies the problem with two main functions. You write a map function to process records and a reduce function to combine results. The framework handles splitting the data, moving grouped data to the right machines, retrying failed work, and writing the final output.
Raw MapReduce is rarely the first choice for new systems today, but its ideas still show up everywhere in modern data engines: keep work close to data, avoid unnecessary shuffle, make retries safe, and expect machines to fail.
This chapter explains what problem MapReduce solves, how map, shuffle, and reduce work, how failures are handled, and why the model still matters.