{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,20]],"date-time":"2026-10-20T22:42:56Z","timestamp":1792536176651,"version":"4.5.0"},"reference-count":95,"publisher":"Emerald","issue":"2","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2007,11,7]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1561\/1900000002","type":"journal-article","created":{"date-parts":[[2007,12,6]],"date-time":"2007-12-06T11:37:04Z","timestamp":1196941024000},"page":"141-259","source":"Crossref","is-referenced-by-count":181,"title":["Architecture of a Database System"],"prefix":"10.1108","volume":"1","author":[{"given":"Joseph M.","family":"Hellerstein","sequence":"first","affiliation":[{"name":"University of California , Berkeley,","place":["USA"]}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Michael","family":"Stonebraker","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology ,","place":["USA"]}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"James","family":"Hamilton","sequence":"additional","affiliation":[{"name":"Microsoft Research ,","place":["USA"]}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"140","published-online":{"date-parts":[[2007,11,7]]},"reference":[{"key":"2025122115465637200_ref001","volume-title":"16th International Conference on Data Engineering (ICDE)","author":"Adya","year":"2000"},{"key":"2025122115465637200_ref002","doi-asserted-by":"crossref","first-page":"609","DOI":"10.1145\/32204.32220","article-title":"Concurrency control performance modelling: Alternatives and implications","volume":"12","author":"Agrawal","year":"1987","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref003","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1145\/320455.320457","article-title":"System R: Relational approach to database management","volume":"1","author":"Astrahan","year":"1976","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref004","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/BF00263762","article-title":"Concurrency of operations on B-trees","volume":"9","author":"Bayer","year":"1977","journal-title":"Acta Informatica"},{"key":"2025122115465637200_ref005","first-page":"400","volume-title":"Proceedings of the 4th International Conference on Genetic Algorithms","author":"Bennett","year":"1991"},{"key":"2025122115465637200_ref006","first-page":"1","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"Berenson","year":"1995"},{"key":"2025122115465637200_ref007","doi-asserted-by":"crossref","DOI":"10.1145\/356842.356846","article-title":"Concurrency control in distributed database systems","volume":"13","author":"Bernstein","year":"1981","journal-title":"ACM Computing Surveys"},{"key":"2025122115465637200_ref008","first-page":"590","volume-title":"Proceedings of 23rd International Conference on Very Large Data Bases (VLDB)","author":"Bridge","year":"1997"},{"key":"2025122115465637200_ref009","article-title":"Bigtable: A distributed storage system for structured data","volume-title":"Symposium on Operating System Design and Implementation (OSDI)","author":"Chang","year":"2006"},{"key":"2025122115465637200_ref010","doi-asserted-by":"crossref","DOI":"10.1145\/275487.275492","article-title":"An overview of query optimization in relational systems","volume-title":"Proceedings of ACM Principles of Database Systems (PODS)","author":"Chaudhuri","year":"1998"},{"key":"2025122115465637200_ref011","doi-asserted-by":"crossref","DOI":"10.1145\/248603.248616","article-title":"An overview of data warehousing and olap technology","volume-title":"ACM SIGMOD Record","author":"Chaudhuri","year":"1997"},{"key":"2025122115465637200_ref012","first-page":"367","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"Chaudhuri","year":"1998"},{"key":"2025122115465637200_ref013","doi-asserted-by":"crossref","first-page":"177","DOI":"10.1145\/320248.320249","article-title":"Optimization of queries with user-defined predicates","volume":"24","author":"Chaudhuri","year":"1999","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref014","article-title":"Data mining: An overview from a database perspective","volume":"8","author":"Chen","year":"1996","journal-title":"IEEE Transactions on Knowledge and Data Engineering"},{"key":"2025122115465637200_ref015","first-page":"127","volume-title":"Proceedings of 11th International Conference on Very Large Data Bases (VLDB)","author":"Chou","year":"1985"},{"key":"2025122115465637200_ref016","volume-title":"Proceedings of the 18th International Conference on Data Engineering","author":"Desphande","year":"2001"},{"key":"2025122115465637200_ref017","doi-asserted-by":"crossref","first-page":"182","DOI":"10.1016\/0022-0000(85)90041-8","article-title":"Probabilistic counting algorithms for data base applications","volume":"31","author":"Flajolet","year":"1985","journal-title":"Journal of Computing System Science"},{"key":"2025122115465637200_ref018","first-page":"85","article-title":"Fast, randomized join-order selection \u2014 why use transformations?","volume-title":"VLDB","author":"Galindo-Legaria","year":"1994"},{"key":"2025122115465637200_ref019","first-page":"9","volume-title":"Proceedings of the ACM SIGMOD International Conference on Management of Data","author":"Ganguly","year":"1992"},{"key":"2025122115465637200_ref020","unstructured":"M.\n              Garofalakis\n             and P. B.Gibbons, \u201cApproximate query processing: Taming the terabytes, a tutorial,\u201d in International Conferenence on Very Large Data Bases, 2001. www.vldb.org\/conf\/2001\/tut4.pdf."},{"key":"2025122115465637200_ref021","first-page":"296","volume-title":"Proceedings of 23rd International Conference on Very Large Data Bases (VLDB)","author":"Garofalakis","year":"1997"},{"key":"2025122115465637200_ref022","doi-asserted-by":"crossref","DOI":"10.1145\/342009.335422","article-title":"Wsq\/dsq: A practical approach for combined querying of databases and the web","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Goldman","year":"2000"},{"key":"2025122115465637200_ref023","first-page":"102","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Graefe","year":"1990"},{"key":"2025122115465637200_ref024","doi-asserted-by":"crossref","first-page":"73","DOI":"10.1145\/152610.152611","article-title":"Query evaluation techniques for large databases","volume":"25","author":"Graefe","year":"1993","journal-title":"Computing Surveys"},{"key":"2025122115465637200_ref025","first-page":"19","article-title":"The cascades framework for query optimization","volume":"18","author":"Graefe","year":"1995","journal-title":"IEEE Data Engineering Bulletin"},{"key":"2025122115465637200_ref026","article-title":"Market share: Relational database management systems by operating system, worldwide, 2005","author":"Graham","year":"2006"},{"key":"2025122115465637200_ref027","volume-title":"Proceedings of the FAST \u201905 Conference on File and Storage Technologies","author":"Gray","year":"2005"},{"key":"2025122115465637200_ref028","unstructured":"J.\n              Gray\n             and B.Fitzgerald, FLASH Disk Opportunity for Server-Applications. http:\/\/research.microsoft.com\/~Gray\/papers\/FlashDiskPublic.doc."},{"key":"2025122115465637200_ref029","first-page":"365","article-title":"Granularity of locks and degrees of consistency in a shared data base","volume-title":"IFIP Working Conference on Modelling in Data Base Management Systems","author":"Gray","year":"1976"},{"key":"2025122115465637200_ref030","volume-title":"Transaction Processing: Concepts and Techniques","author":"Gray","year":"1993"},{"key":"2025122115465637200_ref031","article-title":"Scalable, distributed data structures for internet service construction","volume-title":"Proceedings of the Fourth Symposium on Operating Systems Design and Implementation (OSDI)","author":"Gribble","year":"2000"},{"key":"2025122115465637200_ref032","first-page":"47","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Guttman","year":"1984"},{"key":"2025122115465637200_ref033","article-title":"Optimizing queries across diverse data sources","volume-title":"International Conference on Very Large Databases (VLDB)","author":"Haas","year":"1997"},{"key":"2025122115465637200_ref034","first-page":"287","article-title":"Principles of transaction-oriented database recovery","volume-title":"ACM Computing Surveys","author":"Haerder","year":"1983"},{"key":"2025122115465637200_ref035","first-page":"11","article-title":"StagedDB: Designing database servers for modern hardware","volume":"28","author":"Harizopoulos","year":"2005","journal-title":"IEEE Data Engineering Bulletin"},{"key":"2025122115465637200_ref036","article-title":"Performance tradeoffs in read-optimized databases","volume-title":"Proceedings of the 32nd Very Large Databases Conference (VLDB)","author":"Harizopoulos","year":"2006"},{"key":"2025122115465637200_ref037","doi-asserted-by":"crossref","first-page":"113","DOI":"10.1145\/292481.277627","article-title":"Optimization techniques for queries with expensive methods","volume":"23","author":"Hellerstein","year":"1998","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref038","doi-asserted-by":"crossref","DOI":"10.1145\/253260.253291","article-title":"Online aggregation","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Hellerstein","year":"1997"},{"key":"2025122115465637200_ref039","article-title":"Generalized search trees for database system","volume-title":"Proceedings of Very Large Data Bases Conference (VLDB)","author":"Hellerstein","year":"1995"},{"key":"2025122115465637200_ref040","article-title":"The russian-doll tree, an index structure for sets","volume-title":"University of Wisconsin Technical Report TR1252","author":"Hellerstein","year":"1994"},{"key":"2025122115465637200_ref041","doi-asserted-by":"crossref","first-page":"549","DOI":"10.1145\/355620.361161","article-title":"Monitors: An operating system structuring concept","volume":"17","author":"Hoare","year":"1974","journal-title":"Communications of the ACM (CACM)"},{"key":"2025122115465637200_ref042","first-page":"218","volume-title":"Proceedings of the First International Conference on Parallel and Distributed Information Systems (PDIS)","author":"Hong","year":"1991"},{"key":"2025122115465637200_ref043","doi-asserted-by":"crossref","first-page":"456","DOI":"10.1109\/ICDE.1990.113499","volume-title":"Proceedings of Sixth International Conference on Data Engineering (ICDE)","author":"Hsiao","year":"1990"},{"key":"2025122115465637200_ref044","first-page":"312","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Ioannidis"},{"key":"2025122115465637200_ref045","first-page":"268","volume-title":"Proceedings of the ACM SIGMOD International Conference on Management of Data","author":"Ioannidis","year":"1991"},{"key":"2025122115465637200_ref046","first-page":"62","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"Kornacker","year":"1997"},{"key":"2025122115465637200_ref047","doi-asserted-by":"crossref","first-page":"213","DOI":"10.1145\/319566.319567","article-title":"On optimistic methods for concurrency control","volume":"6","author":"Kung","year":"1981","journal-title":"ACM Tranactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref048","article-title":"Using cohort scheduling to enhance server performance","volume-title":"USENIX Annual Conference","author":"Larus","year":"2002"},{"key":"2025122115465637200_ref049","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1145\/850657.850658","article-title":"On the duality of operating system structures","volume":"13","author":"Lauer","year":"1979","journal-title":"ACM SIGOPS Operating Systems Review"},{"key":"2025122115465637200_ref050","doi-asserted-by":"crossref","first-page":"650","DOI":"10.1145\/319628.319663","article-title":"Efficient locking for concurrent operations on b-trees","volume":"6","author":"Lehman","year":"1981","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref051","doi-asserted-by":"crossref","first-page":"270","DOI":"10.1007\/s007780100054","article-title":"Answering queries using views","volume":"10","author":"Levy","year":"2001","journal-title":"VLDB Journal"},{"key":"2025122115465637200_ref052","first-page":"96","volume-title":"Proceedings of 20th International Conference on Very Large Data Bases","author":"Levy","year":"1994"},{"key":"2025122115465637200_ref053","first-page":"212","volume-title":"Sixth International Conference on Very Large Data Bases (VLDB)","author":"Litwin","year":"1980"},{"key":"2025122115465637200_ref054","first-page":"18","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"Lohman","year":"1988"},{"key":"2025122115465637200_ref055","doi-asserted-by":"crossref","DOI":"10.1145\/564691.564763","article-title":"Middle-tier database caching for e-business","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"Luo","year":"2002"},{"key":"2025122115465637200_ref056","volume-title":"Proceedings of 12th IEEE International Conference on Data Engineering (ICDE)","author":"Madden","year":"2002"},{"key":"2025122115465637200_ref057","doi-asserted-by":"crossref","first-page":"98","DOI":"10.1147\/sj.421.0098","article-title":"Leo: An autonomic query optimizer for db2","volume":"42","author":"Markl","year":"2003","journal-title":"IBM Systems Journal"},{"key":"2025122115465637200_ref058","first-page":"392","volume-title":"16th International Conference on Very Large Data Bases (VLDB)","author":"Mohan","year":"1990"},{"key":"2025122115465637200_ref059","doi-asserted-by":"crossref","first-page":"94","DOI":"10.1145\/128765.128770","article-title":"Aries: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging","volume":"17","author":"Mohan","year":"1992","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref060","first-page":"371","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"Mohan","year":"1992"},{"key":"2025122115465637200_ref061","doi-asserted-by":"crossref","first-page":"378","DOI":"10.1145\/7239.7266","article-title":"Transaction management in the r* distributed database management system","volume":"11","author":"Mohan","year":"1986","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref062","article-title":"Rethink the sync","volume-title":"Symposium on Operating Systems Design and Implementation (OSDI)","author":"Nightingale","year":"2006"},{"key":"2025122115465637200_ref063","unstructured":"OLAP Market Report. Online manuscript\n          . http:\/\/www.olapreport.com\/market.htm."},{"key":"2025122115465637200_ref064","first-page":"297","volume-title":"Proceedings of ACM SIGMOD International Conference on Management of Data","author":"O\u2019Neil","year":"1993"},{"key":"2025122115465637200_ref065","first-page":"38","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"O\u2019Neil","year":"1997"},{"key":"2025122115465637200_ref066","doi-asserted-by":"crossref","first-page":"637","DOI":"10.1145\/872757.872835","volume-title":"ACM SIGMOD International Management of Data (San Diego, California, June 09\u201312, 2003) SIGMOD \u201903","author":"Padmanabhan","year":"2003"},{"key":"2025122115465637200_ref067","doi-asserted-by":"crossref","first-page":"71","DOI":"10.1145\/1022594.1022596","article-title":"Latency lags bandwidth","volume":"47","author":"Patterson","year":"2004","journal-title":"CACM"},{"key":"2025122115465637200_ref068","first-page":"39","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Pirahesh","year":"1992"},{"key":"2025122115465637200_ref069","first-page":"486","volume-title":"Proceedings of 23rd International Conference on Very Large Data Bases (VLDB)","author":"Poosala","year":"1997"},{"key":"2025122115465637200_ref070","first-page":"582","article-title":"Tpc-ds, taking decision support benchmarking to the next level","volume-title":"SIGMOD 2002","author":"P\u00f6ss"},{"key":"2025122115465637200_ref071","article-title":"Analysis and evolution of journaling file systems","volume-title":"Proceedings of USENIX Annual Technical Conference","author":"Prabakharan","year":"2005"},{"key":"2025122115465637200_ref072","volume-title":"Database management systems","author":"Ramakrishnan","year":"2003"},{"key":"2025122115465637200_ref073","article-title":"How to wring a table dry: Entropy compression of relations and querying of compressed relations","volume-title":"Proceedings of International Conference on Very Large Data Bases (VLDB)","author":"Raman","year":"2006"},{"key":"2025122115465637200_ref074","article-title":"Naming and Synchronization in a Decentralized Computer System","volume-title":"PhD thesis, MIT, Dept. of Electrical Engineering","author":"Reed","year":"1978"},{"key":"2025122115465637200_ref075","author":"Reiter","year":"1976","journal-title":"Technical Summary Report 1619, Mathematics Research Center"},{"key":"2025122115465637200_ref076","doi-asserted-by":"crossref","first-page":"178","DOI":"10.1145\/320251.320260","article-title":"System level concurrency control for distributed database systems","volume":"3","author":"Rosenkrantz","year":"1978","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"2025122115465637200_ref077","article-title":"Integrating mining with relational database systems: Alternatives and implications","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Sarawagi","year":"1998"},{"key":"2025122115465637200_ref078","article-title":"Statis: Flexible transactional storage","volume-title":"Proceedings of Symposium on Operating Systems Design and Implementation (OSDI)","author":"Sears","year":"2006"},{"key":"2025122115465637200_ref079","first-page":"22","volume-title":"Proceedings of ACM-SIGMOD International Conference on Management of Data","author":"Selinger","year":"1979"},{"key":"2025122115465637200_ref080","volume-title":"Proceedings of 12th IEEE International Conference on Data Engineering (ICDE)","author":"Seshadri","year":"1996"},{"key":"2025122115465637200_ref081","doi-asserted-by":"crossref","first-page":"103","DOI":"10.1145\/604264.604282","article-title":"Java support for data-intensive systems: Experiences building the telegraph dataflow system","volume":"30","author":"Shah","year":"2001","journal-title":"ACM SIGMOD Record"},{"key":"2025122115465637200_ref082","doi-asserted-by":"crossref","DOI":"10.1109\/IDEAS.2001.938068","article-title":"Exploiting upper and lower bounds in top-down query optimization","volume-title":"International Database Engineering and Application Symposium (IDEAS)","author":"Shapiro","year":"2001"},{"key":"2025122115465637200_ref083","volume-title":"Database System Concepts","author":"Silberschatz","year":"2001","edition":"Fourth"},{"key":"2025122115465637200_ref084","doi-asserted-by":"crossref","first-page":"191","DOI":"10.1007\/s007780050040","article-title":"Heuristic and randomized optimization for the join ordering problem","volume":"6","author":"Steinbrunn","year":"1997","journal-title":"VLDB Journal"},{"key":"2025122115465637200_ref085","first-page":"225","article-title":"Retrospection on a database system","volume-title":"ACM Transactions on Database Systems (TODS)","author":"Stonebraker","year":"1980"},{"key":"2025122115465637200_ref086","first-page":"412","article-title":"Operating system support for database management","volume-title":"Communications of the ACM (CACM)","author":"Stonebraker","year":"1981"},{"key":"2025122115465637200_ref087","first-page":"4","article-title":"The case for shared nothing","volume":"9","author":"Stonebraker","year":"1986","journal-title":"IEEE Database Engineering Bulletin"},{"key":"2025122115465637200_ref088","first-page":"262","article-title":"Inclusion of new types in relational data base systems","volume-title":"ICDE","author":"Stonebraker","year":"1986"},{"key":"2025122115465637200_ref089","article-title":"C-store: A column oriented dbms","volume-title":"Proceedings of the Conference on Very Large Databases (VLDB)","author":"Stonebraker","year":"2005"},{"key":"2025122115465637200_ref090","doi-asserted-by":"crossref","DOI":"10.1109\/ICDE.2005.1","article-title":"One size fits all: An idea whose time has come and gone","volume-title":"Proceedings of the International Conference on Data Engineering (ICDE)","author":"Stonebraker","year":"2005"},{"key":"2025122115465637200_ref091","unstructured":"Transaction Processing Performance Council\n          \n          2006. TPC Benchmark C Standard Specification Revision 5.7, http:\/\/www.tpc.org\/tpcc\/spec\/tpcc_current.pdf, April."},{"key":"2025122115465637200_ref092","doi-asserted-by":"crossref","DOI":"10.1145\/276304.276317","article-title":"Cost based query scrambling for initial delays","volume-title":"ACM-SIGMOD International Conference on Management of Data","author":"Urhan","year":"1998"},{"key":"2025122115465637200_ref093","volume-title":"Proceedings of the Ninteenth Symposium on Operating System Principles (SOSP-19)","author":"von Behren","year":"2003"},{"key":"2025122115465637200_ref094","volume-title":"Proceedings of the 18th Symposium on Operating Systems Principles (SOSP-18)","author":"Welsh","year":"2001"},{"key":"2025122115465637200_ref095","first-page":"115","volume-title":"\u201cOn-line reorganization of sparsely-populated b+trees,\u201d","author":"Zou","year":"1996"}],"container-title":["Foundations and Trends in Databases"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.emerald.com\/ftdbs\/article-pdf\/1\/2\/141\/11137549\/1900000002en.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/www.emerald.com\/ftdbs\/article-pdf\/1\/2\/141\/11137549\/1900000002en.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T14:11:38Z","timestamp":1777471898000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.emerald.com\/ftdbs\/article\/1\/2\/141\/1331441\/Architecture-of-a-Database-System"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,11,7]]},"references-count":95,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2007,11,7]]}},"URL":"https:\/\/doi.org\/10.1561\/1900000002","relation":{},"ISSN":["1931-7883","1931-7891"],"issn-type":[{"value":"1931-7883","type":"print"},{"value":"1931-7891","type":"electronic"}],"subject":[],"published":{"date-parts":[[2007,11,7]]}}}