Summary
Textbooks explain database algorithms one at a time, but rarely show how a real system fits them together. This long survey fills that gap. It describes the architecture of a relational DBMS as it is actually built in commercial and open-source systems, including the engineering choices those systems make.
The paper walks through process models (process per connection, threads, and pools), parallel architectures such as shared-memory, shared-nothing and shared-disk, the query processor and optimiser, the storage manager and buffer pool, and the transaction subsystem with locking, logging and recovery. It also covers shared components like the catalog and memory allocators.
It is the best map to read before studying any single component. When you later read a paper on buffer replacement or query compilation, you will know where that piece sits and what it has to interact with.
