Information Technology Reference
In-Depth Information
14.1
Data Server
A page server is a special case of a more general type of database server called a data
server . A data server is said to do data shipping : it services requests to ship single
data items from the database to the clients. In principle, the requested data items
might be logical items such as single tuples or relations of a relational database or
single objects or object collections in an object-oriented database, or they may be
physical items such as pages or files.
The server has the usual server buffer for buffering data items fetched from the
database disk and updated data items shipped from the clients. Each client buffers
the data items shipped from the server in its private client buffer , also called the
client cache . Each client does query processing and runs transactions on the data
buffered in the client cache.
The processing of an SQL query at a client typically involves the following
steps:
1. Parse the query and request from the server system-catalog information for
relations mentioned in the query.
2. Using the received information, check the syntactic and semantic correctness of
the query, optimize the query, and generate an execution plan for it.
3. Execute the query according to the plan on the data buffered at the client,
requesting from the server any data items needed in the execution that are missing
from the client cache.
4. If the SQL operation includes updating, the updated data items are eventually,
when they are needed at the server or at some other client, shipped back to the
server, replacing the old versions there.
Depending on the typical structure of the data items shipped between the server
and a client, data servers are classified as object servers, page servers, and file
servers. In an object server , the shipped items are logical items such as tuples or
relations or objects or object collections. For example, a client of an object-oriented
object server may request from the server an object with a given object identifier,
and a client of a relational object server may request from the server a relation with a
given unique name. Step 1 of SQL query processing at a client of a relational object
server involves requesting (by name) some system-catalog relations, while step 3
involves requesting indexes and indexed tuples from the server, given relation or
index names and tuple identifiers as arguments of the requests.
In a page server , the shipped items are database pages: a request for a page
contains the page identifier of the page. Assuming that relations are indexed by B-
trees, step 1 of SQL query processing at a client of a relational page server involves
requesting pages in root-to-leaf paths of B-trees for system-catalog relations,
starting from the root pages, while step 3 involves requesting pages of B-tree-
indexed relations.
In a file server , the shipped items are database files: a request for a file contains
the unique file name or identifier of the file.
Search WWH ::




Custom Search