Database Management Systems (DBMSs) are a ubiquitous and critical component of modern computing, and the result of decades of resear chand 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 scala bility 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 been relatively sparse coverage in the literature of the systems design issues that 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