Catalin’s Reviews > Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems > Status Update
Like flag
Catalin’s Previous Updates
Catalin
is on page 536 of 1054
The CAP Theorem states that distributed data stores can simultaneously provide at most two of three guarantees: Consistency (all nodes see the same data), Availability (every request receives a response), and Partition Tolerance (the system continues to operate despite network failures)
— 9 hours, 46 min ago
Catalin
is on page 532 of 1054
This is a disadvantage because a job's output is only considered valid when the job has completed successfully. Otherwise the temp file contents are discarded -> the next job cannot continue. To manage these dependencies some workflow schedulers have been developed for Hadoop.
— Jun 11, 2026 12:41PM
Catalin
is on page 532 of 1054
MapReduce jobs are usually chained together into a workflow, such that the output of one job becomes the input to the next job, but from the frameworks pov, they are 2 separate independent jobs.
Therefore, these chained MapReduce jobs are not really like robust pipelines, and more like a sequence of commands where each command's output is written to a temp file, and the next command reads from the temp file.
— Jun 11, 2026 12:40PM
Therefore, these chained MapReduce jobs are not really like robust pipelines, and more like a sequence of commands where each command's output is written to a temp file, and the next command reads from the temp file.
Catalin
is on page 528 of 1054
The MapReduce scheduler tries to run each map function (which can be parallelized) on one of the machines that stores a replica of the input file if the machine has enough RAM and CPU resources.
This is called "putting the computation near the data" and it saves copying the input file over the network, reducing network load and increasing locality.
— Jun 11, 2026 12:28PM
This is called "putting the computation near the data" and it saves copying the input file over the network, reducing network load and increasing locality.
Catalin
is on page 527 of 1054
MapReduce has 4 steps.
Step 1 is to READ the set of input files and break them up into records.
Step 2 is where the MAP function is called to extract key value pairs from each record.
Step 3 is SORTING all of the key value pairs by key for further processing
Step 4 is REDUCE where the reducer function iterates over the sorted key-value pairs and produces output records like counts and more.
— Jun 11, 2026 12:22PM
Step 1 is to READ the set of input files and break them up into records.
Step 2 is where the MAP function is called to extract key value pairs from each record.
Step 3 is SORTING all of the key value pairs by key for further processing
Step 4 is REDUCE where the reducer function iterates over the sorted key-value pairs and produces output records like counts and more.
Catalin
is on page 526 of 1054
HDFS basically has a process running on each machine which exposes a network service that allows other nodes from the distributed network to access files stored on that machine. So HDFS creates one big file system that can use the space on the disks of all machines running the process.
Azure Blob Storage and AWS S3 are similar to HDFS.
— Jun 11, 2026 12:15PM
Azure Blob Storage and AWS S3 are similar to HDFS.
Catalin
is on page 525 of 1054
MapReduce is a programming model used to process massive volumes of data across distributed computer clusters. One such example is the Hadoop Distributed File System (HDFS).
— Jun 11, 2026 12:14PM

