Lesson 1.3: Overview of a DBMS Flashcards
The two distinct sources of command to the DBMS
- conventional users and application programs that ask/modify data
- database administrator
it is a person or persons responsible for the structure or schema of the database
database administrator
DDL commands are parsed by a DDL processor and passed to the execution engine, which then goes to the what?
Index/file/record manager
this initiates some action made by a user or an application program
data-manipulation language (DML)
DML statements are handled by two separate subsystems, namely:
- answering the query
2. transaction processing
in answering the query, the query is optimized and parsed by a?
query compiler
in answering the query, the resulting query plan is passed to the what?
execution engine
in answering the query, this issues a sequence of requests for small pieces of data
execution engine
in answering the query, the requests made by the execution are passed to what?
buffer manager
in answering the query, this brings appropriate portions of the data from secondary storage to main-memory buffers
buffer manager
this subsystem communicates with a storage manager to get data from disk
buffer manager
what is storage manager’s job
control the placement of data on disk and its movement between disk and main memory
do the storage manager keeps track of the location of files on the disk?
Yes. It even obtains the block or blocks containing a file on request from the buffer manager.
This is responsible for partitioning the available main memory into buffers
buffer manager
the contents of the database itself
data
the database schema that describes the structure of, and contraints on the database
metadata
information about recent changes to the database; these support durability
log records
info gatherd and stored by the DBMS about data properties such as the sizes of, and values in, various relations or other components of the database
statistics
data structures that support efficient access to the data
indexes
This accepts transaction commands from an application
transaction manager
The transaction processor performs what?
- logging
- concurrency control
- deadlock resolution
Does the buffer manager has the responsibility to intervene and cancel transactions to let others proceed?
No. This responsibility is for the Transaction Manager.
As transactions compete for resources through the locks that the scheduler grants, they can get into a situation where none can proceed because each needs something another transaction has. What is this?
Deadlock resolution
This does its work by maintaining locks on certain pieces of the databases which are generally stored in a main-memory lock table.
scheduler
this writes the log in buffers and negotiates with the buffer manager to make sure that buffers are written to disk
log manager
What ACID stands for the properties of transactions?
atomicity
consistency
isolation
durability
this translates the query into an internal form
query compiler
an internal form translated by the query compiler
query plan
the query compiler consists of three major units
query parser
query preprocessor
query optimizer
which has the responsibility for executing each of the steps in the chosen query plan
execution engine
this transforms the initial query plan into the best available sequence of operations on the actual data
query optimizer
this performs semantic checks on the query (e.g., making sure all relations mentioned by the query actually exist), and performing some tree transformations to turn the parse tree into a tree of algebraic operators representing the initial query plan
query preprocessor
this builds a tree structure from the textual form of the query
query parser