Information Technology Reference
In-Depth Information
(a) Assuming that the database system is a conventional transaction-server system,
what data are transferred between the disk and the server buffer and between
the server and the client at different phases of the execution of the transaction?
We assume that at the start of the transaction, there are no pages of relation r in
the server buffer.
(b) Repeat (a) in the case that the system is a page server. We assume that updates
are propagated lazily. We also assume that at the start of the transaction, there
are no pages of r in the server buffer nor in any client cache and that there are
no other transactions in progress simultaneously at other clients.
14.2 Compare an object server and a page server by considering the number of
messages exchanged between the server and a client and the amount of actual data
(objects or data pages) transferred between the server and a client. In this respect,
when is an object server more efficient than a page server (and vice versa)? You may
assume that objects (or tuples in a relation) are considerably smaller than a page.
14.3 Show that the following history of two transactions running at different clients
is possible in a page-server system, when the tuples with keys x, y,and z all reside
in data page p and the transactions are run at the serializable isolation level.
T 1 at c 1 :
BR Œx
W Œx
z C
T 2 at c 2 :
BR Œy
W Œy
z A
W 1 ŒyC
Give all transfers of page p between the server and the clients, the log records
generated and shipped, and the locks acquired and released, at each phase of the
execution of the history. Assuming that the server buffer and the client caches are
empty at the beginning, how do the disk version, the server version, and the current
version of the database differ from each other at the end?
14.4 It is possible that a client c ships to the server log records of updates on a page
p while not shipping the updated page p to the server. In other words, the server
version of page p may not contain all updates that are found logged at the server.
Explain why. What happens when some transaction running at an other client wants
to read or update page p? Is the transaction guaranteed to see the current version of
page p? Also consider the case that client c crashes at that point.
14.5 Consider using the C OMMIT -LSN technique of Sect. 9.6 for controlling the
concurrency of transactions run at the read-committed isolation level. Give cheap
ways of maintaining a global C OMMIT -LSN value in a page-server system and of
communicating its current value to the clients.
14.6 To ease the acquisition of S locks on keys of tuples in a data page cached at a
client, the server could, before shipping a data page to the client mark unavailable
those keys on the page that are currently X-locked, so that the client can grant
S locks on the unmarked keys without communicating with the server. With this
policy, the callback protocol is made adaptive so that the server can call back single
keys, besides whole pages. When a key is called back, the client just marks the key
as unavailable if it is currently unlocked at the client and ships the S locks on the
Search WWH ::




Custom Search