For a documentary reseach: Architectural Patterns (ex MapReduce), I started by reading the MapReduce: Simplified Data Processing on Large Clusters paper. the authors define MapReduce as "a programming model and an associated implementation for processing and generating large data sets". Can we consider that MapReduce is an architectural pattern? or a design pattern? Why?.
Asked
Active
Viewed 256 times
0
-
recommended reading: **[Discuss this ${blog}](http://meta.programmers.stackexchange.com/questions/6417/discuss-this-blog)** – gnat Nov 21 '14 at 17:39
-
1I'd suggest reading [Are design patterns essential for good code?](http://programmers.stackexchange.com/a/224945/40980) and [What if I will not use Software Design Patterns?](http://programmers.stackexchange.com/a/219830/40980) and consider what a pattern is. – Nov 21 '14 at 17:41
-
@MichaelT Thank You for your answer. the discussion " Are design patterns essential for good code?" is really helpful ! – Mohamed Amjad LASRI Nov 21 '14 at 17:59
-
Honestly, why does it make a difference to know if MapReduce is called an architectural pattern, a design pattern, or whatever? – Doc Brown Nov 21 '14 at 21:25
1 Answers
1
MapReduce is a lot more than simply stringing together a Map and a Reduce operation. It's about distributed computing, running operations on a cluster over a large data set. It contains architecture for initiating, monitoring and coordinating operations on the cluster, as well as for restarting operations on a system that fails (which happens sometimes on a large cluster), etc. It definitely counts as an architecture pattern, beyond what appears on the surface to be the core functionality.

Mason Wheeler
- 82,151
- 24
- 234
- 309