The present slide shows a simplified architecture and data flow within a typical relational database server.
A client server architecture means, that a number of clients are connected to a single database server, over a local or wide-area network.
The connections are handled by the top most layer of software implementing a database server. A single connection is implemented as a single thread of processing within an operating system.
The interactions between the clients and a database server are handled in the following way. Assume, that a client submits a request expressed as an SQL statement, to access some data items in a read or write mode. A request is processed by a parser, that verifies the syntactical correctness of S Q L statement and by the access control handler, that verifies the access rights of a user, in a relation to the requested data items. Next, SQL statement is passed to a query optimizer, that transforms the statement into a sequence of internal operations on data items and optimizes data access paths. At the end of this stage, the optimal processing plan is created for the processing of S Q L statement.
The optimised query processing plan, is passed to a query processor, that performs interpretation of the plan. Query processor brings the required data blocks, from persistent storage into a data buffer cache, located in the transient memory.
A data buffer cache is a piece of fast transient memory, that is used by a database system, for keeping frequently accessed data blocks. A data buffer cache is used to reduce the total number of read and write operations on slower persistent storage and to replace such operations, with the operation of much faster transient memory. The data blocks, that are read or written many times, do not need to be read from or write from slower persistent memory each time a read or write operation is performed by a database system. Instead, to make the modifications of data safe, a database server records all modifications in a sequential and persistent log. Sequential write operations on persistent storage are faster, than random write operations on persistent storage.
When processing of S Q L statement is completed, data obtained from the processing is returned to a client.