Don't be a Pessimist: Use Snapshot based
Concurrency Control for XML (Poster paper)
Z. Sardar, B.
Kemme
Abstract:
As native XML database systems (e.g., [3, 7, 8]) get increasingly
popular, fine-granularity concurrency control becomes imperative in
order to allow different clients to concurrently access the same
documents. Existing concurrency control approaches for XML are mainly
based on locking [2, 3, 4, 6, 5]. However, the experiments of [5] have
shown that the locking overhead, especially for read operations, can be
tremendous. In this paper, we present two snapshot based concurrency
control mechanisms that avoid locking. Instead, transactions access a
committed snapshot of the data. OptiX is a variation of optimistic
concurrency control adjusted to use snapshots and work on XML data.
SnaX provides the isolation level of snapshot isolation [1] and has
similar semantics as the concurrency control mechanisms implemented in,
e.g., Oracle or PostgreSQL. Both protocols are optimized to XML data in
several ways. Firstly, we implement snapshots using an efficient
node-based multiversion mechanism. Secondly, we take
ancestor/descendant relationships into account when we identify what a
transaction reads and writes. Lastly, we use the semantics of the
update operations to provide better concurrency.
IEEE Int. Conf. on Data Engineering
(ICDE), Atlanta, Georgia,
April 2006.
Click to for the pdf version.