The storage manager is a software layer within a database management system. It relies on operating system primitives for I/O, synchronization, etc. and exposes records in storage structures such as B-trees and heaps. Its principal operations are creation and removal of storage structures as well as retrieval, search, scans, insertion, update, and deletion of records. For those operations, the storage layer provides concurrency control among threads and among transactions, as well as recovery from transaction, media, and system failures. Standard implementation techniques include locking and write-ahead logging. Using a buffer pool, records are made accessible in random access memory, although the permanent storage is on block-access media, typically on disk but possibly in flash memory.
The storage layer may support data compression, “blobs” (binary large objects), bitmaps in non-unique secondary indexes, hash indexes, multi-dimensional...
KeywordsQuery Processing Database Management System Concurrency Control Transactional Memory Buffer Pool
- 1.Carey MJ, DeWitt DJ, Franklin MJ, Hall NE, McAuliffe ML, Naughton JF, Schuh DT, Solomon MH, Tan CK, Tsatalos OG, White SJ, Zwilling MJ. Shoring up persistent applications. In: Proceedings of ACM SIGMOD international conference on management of data. 23(2). 1994. p. 383–94.Google Scholar
- 2.Chamberlin DD, Astrahan MM, Blasgen MW, Gray J, King WF, III Lindsay BG, Lorie RA, Mehl JW, Price TG, Putzolu GR, Selinger PG, Schkolnick M, Slutz DR, Traiger IL, Wade BW, Yost RA. A history and evaluation of system R. Commun ACM. 1981; 24(10):632–46,.Google Scholar