Skip to content

DBMS Component Modules

A Database Management System (DBMS) consists of several integrated components (modules) that handle various aspects of database definition, processing, and management. These modules interact with both the database and the DBMS catalog, which are typically stored on disk.

The DBMS is composed of several cooperating components:

  • DDL compiler for schema processing

  • Catalog manager for metadata storage

  • Query compiler and optimizer for parsing and improving query performance

  • Runtime database processor for executing transactions and queries

  • Buffer and data managers for storage and memory efficiency

  • Transaction management for reliability and concurrency

1. Storage and Buffer Management

  • The database and the DBMS catalog (which stores metadata) reside on disk storage.

  • Access to the disk is primarily controlled by the operating system (OS), which schedules low-level read/write operations.

  • However, many DBMSs include their own buffer management module to improve performance by managing data transfers between disk and main memory.

  • Effective buffer management reduces the number of disk I/O operations, which are often the slowest part of database processing.

A higher-level module, the stored data manager, controls access to all data stored on disk, whether it belongs to the user database or the DBMS catalog.

2. DDL Compiler and Catalog Management

The Data Definition Language (DDL) compiler processes schema definitions written in DDL and stores the resulting metadata in the DBMS catalog.

The catalog includes information such as:

  • File names and sizes
  • Data types and names of attributes
  • File storage structures and access methods
  • Schema mapping information
  • Data integrity constraints

The catalog also stores internal statistics and metadata used by other DBMS modules, including the query optimizer and transaction manager.

3. Query Processing Modules

a. Interactive Query Interface

  • Used by casual users or those with occasional data access needs.

  • Accepts user-submitted queries through a graphical interface or command-line interface.

b. Query Compiler

  • Parses and validates queries submitted through the interface.

  • Checks for correct syntax, the validity of table names, attributes, and data types.

  • Transforms the query into an internal representation suitable for optimization and execution.

c. Query Optimizer

Optimizes the internal query representation by:

  • Reordering operations

  • Eliminating redundancies

  • Choosing the most efficient algorithms and access paths

Uses statistical and structural information from the DBMS catalog to make optimization decisions.

Outputs an executable query plan, which is passed to the runtime database processor.

4. Runtime Database Processor

Executes the following:

  1. Privileged commands (e.g., schema changes)

  2. Optimized query plans

  3. Predefined transactions (also called "canned transactions") with runtime parameters

Collaborates with:

  • The system catalog to retrieve metadata and update statistics

  • The stored data manager for accessing disk-stored data

  • The buffer manager for managing memory-resident data blocks

May rely on the OS for low-level I/O, or implement custom I/O handling for better control and performance.

5. Transaction Management

Includes modules for:

  • Concurrency control: Ensures correct execution of simultaneous transactions without conflicts.

  • Backup and recovery: Protects the database against system failures and allows data restoration.

  • These components are closely integrated with the runtime database processor to provide full ACID (Atomicity, Consistency, Isolation, Durability) transaction properties.

Made with ❤️ for students, by a fellow learner.