• Each connection is service by one process or thread.

  • Disk is accessed by buffer manager.

  • Disk has data and log.

  • Process interacts with buffer manager (e.g. join algorithm reading a page) and transaction manager (commit, rollback).

  • Log manager maintains log of database changes, for use during recovery.

  • In case of a crash, recovery manager uses data on disk, and log to recover the database to a consistent state, guaranteeing:

    • Durability of changes from committed transactions.

    • Absence of changes from uncommitted transactions.