> For the complete documentation index, see [llms.txt](https://vikram-bajaj.gitbook.io/cs-gy-6083-principles-of-database-systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vikram-bajaj.gitbook.io/cs-gy-6083-principles-of-database-systems/main-1/dbms-internals/storage-manager.md).

# Storage Manager

It serves as an interface between the data stored in the database and the application programs and queries submitted to the system.

It is responsible for:

* interaction with the file manager (OS)
* efficient storage, retrieval and updation of data

It has the following components:

* **Authorization/Integrity Manager**: authenticates users and enforces integrity constraints
* **Transaction Manager**: ensures atomicity of transactions
* **File Manager**: keeps track of logical mapping between data and files
* **Buffer Manager**: uses data buffering policies to speed up data access

It is responsible for storing data, data dictionary (that contains information about all the entities in the database) and indices.
