Database Management Systems (DBMSs) are a ubiquitous and criticalcomponent of modern computing, and the result of decades of researchand development in both academia and industry. Historically, DBMSswere among the earliest multi-user server systems to be developed, andthus pioneered many systems design techniques for scalability and relia-bility now in use in many other contexts. While many of the algorithmsand abstractions used by a DBMS are textbook material, there has beenrelatively sparse coverage in the literature of the systems design issuesthat make a DBMS work. This paper presents an architectural dis-cussion of DBMS design principles, including process models, parallelarchitecture, storage system design, transaction system implementa-tion, query processor and optimizer architectures, and typical sharedcomponents and utilities. Successful commercial and open-source sys-tems are used as points of reference, particularly when multiple alter-native designs have been adopted by different groupscommunity and other areas of computing