Don't be a Pessimist: Use Snapshot based Concurrency Control for XML (Poster paper)

Z. Sardar, B. Kemme

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.