technologybriefs
9:54in productionCh. 1 · Origin/ 9:54 · ceiling 15 min
Software · Systems

Apache Spark

2014

Spark replaces MapReduce’s disk-bound rigidity with memory-resident flexibility—so long as your cluster has enough RAM.

Spark redefines large-scale data processing by replacing MapReduce’s rigid, disk-bound pipeline with an in-memory, DAG-driven engine built on RDDs. It delivers order-of-magnitude latency reductions for iterative and exploratory workloads—but only when memory capacity matches data scale. It offers no storage, no scheduler, and no security model of its own. Its value is real but bounded: it accelerates what fits in RAM, and nothing else.

Chapters & takeaways4
  1. 1:07
    Origin

    Spark is an open-source analytics engine, born at UC Berkeley in 2009 and donated to Apache in 2013.

  2. 2:41
    The RDD

    RDDs are Spark’s foundational abstraction: fault-tolerant, read-only, distributed data sets acting as a restricted form of shared memory.

  3. 4:16
    Beyond MapReduce

    Spark abandons MapReduce’s linear disk-to-disk flow in favour of DAG-managed, in-memory workflows.

  4. 5:48
    What It Accelerates

    Latency drops by orders of magnitude for iterative and exploratory workloads—but only when data fits in memory.

Worth your time?

Yes. Study the whole thing.

4/ 5
What works
  • in-memory iterative computation
  • interactive data exploration
  • fault-tolerant cluster programming
What does not
  • replace storage systems
  • provide native resource isolation
  • eliminate disk dependency
  • include built-in security
Study it if
  • engineers building iterative ML pipelines
  • analysts running repeated ad-hoc queries on large datasets
Skip it if
  • teams constrained by memory budget
  • operators needing turnkey multi-tenancy
The written brief1 min read

What it is and the problem it solves

Apache Spark is an open-source unified analytics engine for large-scale data processing. It solves the high-latency bottleneck of Hadoop MapReduce by enabling in-memory computation and arbitrary DAG-based execution.

How it works

Spark uses resilient distributed datasets (RDDs) as its core abstraction: read-only, fault-tolerant collections of data partitioned across cluster nodes. Workflows are compiled into directed acyclic graphs (DAGs), where nodes represent RDDs and edges represent transformations or actions. This avoids MapReduce’s forced disk-to-disk linear pipeline.

What works

Iterative algorithms—like machine learning training loops—and interactive data exploration work significantly faster. Spark’s implicit parallelism and fault tolerance let developers write cluster code without managing low-level distribution logic.

What does not

Spark does not eliminate disk dependency. RDDs are in-memory only by default; persistence must be explicitly configured. It does not replace storage systems, scheduling frameworks, or security layers. It provides no native resource isolation or multi-tenancy.

What it changes

It changes how engineers structure distributed computation: from rigid, stateless batch pipelines to flexible, stateful, multi-stage workflows with shared intermediate data. It moves latency-sensitive analytics from hours to seconds—but only for workloads that fit in cluster memory.

Is it worth your time

Yes—if you run iterative algorithms or exploratory queries on large datasets and can provision memory-heavy clusters. It demands more RAM than MapReduce and offers no built-in storage, so operational cost shifts from I/O to memory management.

Same field · Software4 of 102
10:03
Go (programming language)Robert Griesemer, Rob Pike, Ken Thompson · 2009Go is a statically typed, compiled programming language designed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google to improve programming productivity for multicore, networked machines and large codebases. It combines static typing and runtime efficiency like C, readability and usability like Python, and high-performance networking and multiprocessing. Publicly announced in November 2009 and released as version 1.0 in March 2012, Go emphasizes simplicity, safety, and developer tooling — especially around concurrency via goroutines and channels, packaging, testing, and deployment — while deliberately omitting features like inheritance, assertions, pointer arithmetic, and implicit type conversions. Its design reflects a focus on the software development process itself rather than just language syntax or semantics.
9:44
Apache CassandraFacebook · 2008Cassandra is a distributed, wide-column database built for write-heavy, multi-datacentre workloads. It prioritises availability and scalability over consistency. It requires upfront schema design aligned to access patterns. It was developed at Facebook for inbox search and released open-source in July 2008.
10:00
Apache HadoopYahoo · 2006Hadoop is not a database or a query engine. It is a fault-tolerant batch-processing substrate built for scale, not speed or simplicity.
10:34
Amiga 10001985The Amiga 1000 is not defined by what it promised, but by what it delivered on day one: a working, shipped, ROM-locked implementation of preemptive multitasking — alongside deliberate physical design choices that treated the case as functional infrastructure. Its limitations are architectural, not aspirational.
Up next in Technology

Apple I

1976 · 9:34

It did not invent the personal computer — it outsourced the enclosure, power, and input, then billed it as progress.

9:34