- 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.