Skip to content

Database Engine

The job of the database engine is distributed between a handful of components

Query ProcessorStorage ManagerDisk StorageCompiler and LinkerDML QueriesDML Compiler and OrganiserDML EngineQuery Evaluation EngineApplication CodeBuffer ManagerFile ManagerAuthorisation and Integrity ManagerTransaction ManagerDataIndicesData DictionaryStatistical Data

Storage Manager

The storage manager provides an interface that connects low-level data inside the database, to application programs that submit queries to the DBMS

The storage manager is responsible for: * Exchanging data with the OS file manager * Efficient storage, retrieval, and updation of data * Effective implementation of data files, data dictionary, and used indices

Query Processor

The query processor parses and translates the query given to the DBMS. It converts it to a relational algebra expression, which is passed to the processing engine

Transaction Manager

A logical function is broken down into a collection of operations. The result of this function is returned by performing these operations and combining their results. This collection of operations is referred to as a Transaction. The component responsible for regulating transations is called the Transaction Manager

It also maintains the database's consistency in case of a system failure (power failure / OS crash) or a transaction failure

Concurrency-Control Manager

The concurrency-control manager ensures that concurrent transactions don't lead to race conditions, and thus preserves the consistency of the database