Architecture of a Database System
Foundations and Trends® in
Databases
Volume 1 Issue 2
DOI: 10.1561/1900000002
Architecture of a Database System
Joseph M. Hellerstein
University of California, Berkeley, USA, hellerstein@cs.berkeley.edu
Michael Stonebraker
Massachusetts Institute of Technology, USA
James Hamilton
Microsoft Research, USA
SUGGESTED CITATION:
Joseph M.Hellerstein, Michael Stonebraker and James Hamilton (2007)
"Architecture of a Database System",
Foundations and Trends® in
Databases: Vol. 1: No 2, pp 141-259.
http:/dx.doi.org/10.1561/1900000002
Abstract
Database Management Systems (DBMSs) are a ubiquitous and critical component of modern computing, and the result of decades
of research and development in both academia and industry. Historically, DBMSs were among the earliest multi-user server systems
to be developed, and thus pioneered many systems design techniques for scalability and reliability now in use in many other
contexts. While many of the algorithms and abstractions used by a DBMS are textbook material, there has been relatively sparse
coverage in the literature of the systems design issues that make a DBMS work. This paper presents an architectural discussion
of DBMS design principles, including process models, parallel architecture, storage system design, transaction system implementation,
query processor and optimizer architectures, and typical shared components and utilities. Successful commercial and open-source
systems are used as points of reference, particularly when multiple alternative designs have been adopted by different groups.