The defining question

  • A system architecture specifies which shared resources are directly accessible by a CPU. It boils down to two questions: where is the memory? and where is the disk? 8:23
  • The answer dictates what messages must be sent, who sends them, and how CPUs coordinate 8:23.
flowchart LR
    subgraph SE["Shared Everything"]
        A1[CPU] --- A2[Memory] --- A3[Disk]
    end
    subgraph SN["Shared Nothing"]
        B1[CPU+Mem+Disk] -.network.- B2[CPU+Mem+Disk]
    end
    subgraph SD["Shared Disk"]
        C1[CPU+Mem] -.network.- C3[(Logical Disk / S3)]
        C2[CPU+Mem] -.network.- C3
    end
    subgraph SM["Shared Memory"]
        D1[CPU] -.network.- D3[Memory + Disk]
        D2[CPU] -.network.- D3
    end

Shared everything

  • Everything done in the course so far: one node with its own CPU, memory and disk. BusTub and Postgres, if you ignore replication 8:56 9:16.

Shared nothing

  • Term coined in the 1980s by Mike Stonebraker (Turing Award winner). Each node has its own CPU, memory and disk and may only communicate over the network 9:16.
  • Example: CS majors stored on the left node, ECE majors on the right — a query spanning both must cross the network 9:16.
  • This is what most people picture when they hear "distributed database" 9:16.

Shared disk

  • Nodes keep their own CPU and memory but share one big logical disk — think Amazon S3. Local disks may still exist as a faster cache 10:26.
  • Became popular with the rise of the public cloud around 2010; most new database startups of the last five years are shared-disk, making it arguably dominant today 10:09.
  • The lecturer's explicit "if you remember one thing from this lecture" item: know what shared-disk architecture is 24:17.

Shared memory

  • Every node has only a CPU; both disk and memory are shared, so reading an in-memory data structure means a network round trip to fetch "the value at memory address X" 10:57 11:26.
  • Real use case is HPC / scientific simulation over RDMA or InfiniBand (e.g. CMU's Bridges supercomputer, seen in 15-418/618) 11:26 28:37.
  • No known real distributed DBMS uses it — it is treated as an academic classification artifact from the 1980s and skipped 11:26 28:13.

Q&A clarification: what is the "disk" machine?

  • Asked whether the shared disk is a physical machine with no CPU or memory: conceptually yes — it has no CPU/memory relevant to query processing, though it needs enough compute to ship bytes back. Mental model: an API call to S3 that downloads a file 12:23 12:56.