3 The Minirel RDBMS



next up previous
Next: 4 Log Manager Interface Up: An ARIES Log Manager Previous: 2 ARIES Recovery

3 The Minirel RDBMS

 

Minirel is a simple, multi-user RDBMS. It has all the features of a regular RDBMS, including concurrency control and locking, logging and recovery, buffer, heap file, and space management, access methods (B-trees, hashing, grid files, etc.), relational operators, query planning, and user interface components. The log manager fits into the system as follows:

Thus, the log manager mainly interacts with the recovery manager. Every other component (except the buffer manager) sees the log manager only through the recovery manager. The only piece of the log manager that the buffer manager sees is the enforcement of the WAL protocol.

Minirel is organized as follows: every Minirel process runs one transaction and accesses one database throughout its existence. There is one log corresponding to each database. (For simplicity, the log is maintained as a Unix file. Duplex-disks and log disks are not used.) Every Minirel process has the entire code for all components. However, the data portion (the buffer pool, the log tail, the lock and transaction tables, etc.) are kept in shared memory. The first transaction to use a database initializes all the shared data structures. Currently, a Minirel process uses only one database and its corresponding log. Thus, the shared memory data structures correspond to a common database.

We have made the following simplifications:

The log management component of a real database system would relax these assumptions and be more rigorous about duplexing and crashes.



next up previous
Next: 4 Log Manager Interface Up: An ARIES Log Manager Previous: 2 ARIES Recovery



ajitk@cs.wisc.edu, cjin@cs.wisc.edu