Slides

VLDB
2006
Contest of XML Lock Protocols
Michael P. Haustein, SAP AG
Theo Härder, Univ. of Kaiserslautern
Konstantin Luttenberger, Fraunhofer Institute IESE
[email protected]
32nd Int. Conf. on Very Large Data Bases
VLDB 2006
12-15 September 2006, Seoul, Korea
© 2006 AG DBIS
VLDB
2006
Outline

Key ideas of 2 groups of competing XML lock protocols
• Doc2PL and followers
- Node2PL, NO2PL, OO2PL
• multi-granularity locking (MGL* group)
Introduction
- RIX, RIX+, IRIX, IRIX+, URIX
*-2PL group

•
•
•
•
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Our own protocols: taDOM group

taDOM2: base protocol for DOM2
lock conversion
optimization to taDOM2+
not considered taDOM3, taDOM3+
Introduction to XTC
• identifying nodes
• meta-synchronization
Conclusions
and outlook

Performance evaluation
• taMIX framework
• transaction types of the Banking benchmark
• measurements and comparison

© 2006 AG DBIS
Conclusions and outlook
2
VLDB
2006
DOM Storage Model

Introduction
*-2PL group
MGL* group
taDOM*
group
XML document
DOM API
<?xml version="1.0"?>
<bib>
<book year="2004" id="book1">
<title>The Title</title>
<author>
<last>Lastname</last>
<first>Firstname</first>
</author>
<price>49.99</price>
</book>
</bib>
•
Navigation
•
getFirst/LastChild
getNextSibling
getPreviousSibling
getAttributes/Value
•
Query
getElementById
getChildNodes
Introduction
to XTC
Modification
appendChild
insertBefore
removeChild
element node
Performance
evaluation
bib
Conclusions
and outlook
book
title
id
book1
2004
price
author
year
attribute node
last
T
first
T
49.99
The Title
text node
© 2006 AG DBIS
(> 20 ops)
T
Lastname
T
Firstname
3
VLDB
2006
Doc2PL and its Followers

Basic assumption: Traversal
from root to context node
0. Doc2PL
only locks roots
Sample of operations
1. Node2PL
acquires locks for parent nodes
Introduction

• nthP retrieves the nth child
of C
• nthM retrieves the nth child
(backw.)
• insA inserts a new node
after C
• insB inserts a new node
before C
• del deletes a given node
*-2PL group
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook

Separation of traversal and
modification of
•
•
•
•
© 2006 AG DBIS
document structure (T/M)
content (S/X)
direct jumps (IDR/IDX)
no intention locks!
lock modes:
content + structure
T
M
root
S
X
T
M
S
+
-
+
-
X
-
-
+
-
T
+
+
+
-
M
-
-
-
-
parent P
context node C
entire child axis of P affected
Structural navigation to locate an object often implies ako document scan
repeatable read requires T locks on all nodes
4
VLDB
2006
Doc2PL and its Followers (2)
2. NO2PL
• locks (conceptual) pointers for
every node
• acquires locks for all nodes
whose (conceptual) pointers
are traversed or modified
Introduction
*-2PL group
3. OO2PL

example at C1: insB (C0)
T
MGL* group
- A/Z: first/last child
- R/L: next/previous sibling

example: del C2
root
T
taDOM*
group
Performance
evaluation
Conclusions
and outlook
C0
C1
P
P
M
Introduction
to XTC
TA
…
Cn
C1
TZ
MR
C3
C2
ML
M
only context node and selected child nodes affected
TL
TR
TA
TZ
Increasing degree of concurrency:
Doc2PL -> Node2PL -> NO2PL -> OO2PL
© 2006 AG DBIS
root
ML
MR
MA
MZ
TL
TR
TA
TZ
ML
MR MA MZ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 5
VLDB
2006
Making Full-Fledged Protocols for the *-2PL Group
Idea of T/M lock modes
Introduction
- requires non-interrupted path traversal
- prohibits indexed document access:
how to protect the ancestor path in case of direct jumps?
*-2PL group
T
root
MGL* group
M
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
IDS
IDX
id
idref
T
T
T
T
T
T
IDX
T
IDS
T
id
What’s about IDREF(S) links? –
locks for direct jumps (IDS/IDX) needed!
T
T
T
T
A single lock on the jump target is only sufficient for read ops!
© 2006 AG DBIS
(Very expensive) solution for the *-2PL group:
node deletion requires IDX locks on all descendents having ID attr.
6
VLDB
2006
What Else Do Full-Fledged XML Protocols Need?

• jumps to element nodes not owning an ID attribute
• cheap mechanism to identify the ancestor node IDs!
Introduction
*-2PL group

taDOM*
group

Introduction
to XTC
Conclusions
and outlook
Lock conversion
• operations of a transaction necessarily share some part of the
ancestor path
• weakest possible locks after conversion
MGL* group
Performance
evaluation
Support of direct access via indexes
Appropriate intention locks and subtree locks needed
• lock depth parameter desirable
compatibility matrix

Use ideas of MGL locking
• subtree locks + intention locks
• 4. IRX
conversion matrix
-
I
R
X
I
I
I
X
X
-
R
R
X
R
X
-
X
X
X
X
X
-
I
R
X
I
+
+
-
-
R
+
-
+
X
+
-
-
conversion matrix
• 5. IRX+
© 2006 AG DBIS
- specialized conversion (+)
- depending on locking situation
-
I
R
X
I
I
I
R/X
X
R
R
R/X
R
X
X
X
X
X
X
7
VLDB
2006
Applying Multi-Granularity Locking to XML

6. IRIX
conversion
Introduction
*-2PL group
MGL* group
-
IR
IX
R
X
IR
IR
IR
IX
R
X
IX
IX
IX
IX
X
R
R
R
X
X
X
X
X
IR
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
R
C1
IX
R
X
IR
IR
IR
IX
R
X
X
IX
IX
IX
IX
X
R
X
IXR
R
R
R
R
X
X
X
IXR
X
X
X
X
X
X
• read C1 – C3
IR
root
P
C2
root
P
R
C3
C1
C2
C3
• delete C2
IX
X
© 2006 AG DBIS
specialized conversion
IR
• delete C2
C1
7. IRIX+
-
• read C1 – C3
taDOM*
group

IX
root
P
C2
IX
C3
C1
R
X
root
P
C2
C3
R
8
VLDB
2006
MGL Group (Cont.)

Introduction
*-2PL group
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
© 2006 AG DBIS
8. URIX

read for update C1 – C3
• compatibility matrix
-
IR
IX
R
RIX
U
X
IR
+
+
+
+
+
-
-
IX
+
+
+
-
-
-
-
R
+
+
-
+
-
-
-
RIX
+
+
-
-
-
-
-
U
+
+
-
+
-
-
-
X
+
-
-
-
-
-
-
• conversion matrix
RIX
C1

-
IR
IX
R
RIX
U
X
IR
IR
IR
IX
R
RIX
U
X
IX
IX
IX
IX
RIX RIX
X
X
R
R
R
RIX
RIX
R
X
RIX RIX RIX RIX RIX RIX
X
X
R
IX
U
U
U
X
U
X
U
X
X
X
X
X
X
X
X
X
U
root
P
C2
C3
delete C2
IX
RIX
C1
X
root
P
C2
C3
9
VLDB
2006
Tailored Node Locks for XML – taDOM2


9. taDOM2
Node locks and compatibility matrix
• refined URIX protocol with extensions to lock a complete level in a subtree
Introduction
- well known: IR/IX and R/X (here SR/SX)
• edge locks not discussed (3 modes)
*-2PL group
Compatibility matrix
MGL* group
Read locks
-
IR
NR
LR
SR
IX
CX
U
X
lock
effect
IR
+
+
+
+
+
+
+
-
-
IR
intention read lock on a node
NR
+
+
+
+
+
+
+
-
-
NR (node read)
locks only a context node
LR
+
+
+
+
+
+
-
-
-
LR (level read)
Performance
evaluation
SR
+
+
+
+
+
-
-
-
-
read lock on a context node and
all direct-child nodes
IX
+
+
+
+
-
+
+
-
-
SR (subtree read)
read lock on an entire subtree
Conclusions
and outlook
CX
+
+
+
-
-
+
+
-
-
SU
+
+
+
+
+
-
-
-
-
SX
+
-
-
-
-
-
-
-
-
taDOM*
group
Introduction
to XTC
© 2006 AG DBIS
Write locks
lock
effect
IX (intent. excl.)
intention of a write lock on a nondirect child node
X (exclusive)
write lock on an entire subtree
CX (child excl.)
indicates existence of a write lock
on a direct child node
SU (update option)
read lock for intended update
10
operations on an entire subtree
VLDB
2006
Node Locks (1)

Node read lock (NR)
• requires IR locks on the ancestor path
Introduction

• requested for reading the context node and all nodes
located at the level below (all direct-child nodes)
*-2PL group
MGL* group

taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
Level read lock (LR)
Child exclusive lock (CX)
• indicates an X lock on a child
• defined, in addition to IX, to detect conflicts with LR
Transaction T1 is reading <price>
Transaction T2 is reading <book>
and all direct-child nodes
(<title>, <author>, and <price>)
IX
Transaction T3 is modifying
the book title
© 2006 AG DBIS
bib
IX LR IR
book
author
title
CX
X
IX IR IR
last
T
price
NR
first
T
49.99
The Title
T
Lastname
T
Firstname
11
VLDB
2006
Node Locks (2)

Introduction
*-2PL group
Locking subtrees exclusively: intention exclusive lock (IX),
child exclusive lock (CX), and exclusive lock (X)
• requested for updating the context node's content or deleting
the context node and its entire subtree
• requires a CX lock on the parent and IX locks on the ancestors
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
Transaction T1 is deleting the
<first> node and its content
Transaction T2 is deleting the
<last> node and its content
Transaction T3 is reading the
<author> node
IR IR
IX IX
bib
IR LR
IX IX
book
title NR CX CX
T
X
last
first
X
T
49.99
The Title
Transaction T4 is reading all
direct-child nodes of <book>
price
author LR
T
Lastname
T
Firstname
but is blocked when reading
all child nodes of <author>
© 2006 AG DBIS
12
VLDB
2006
Tunable Lock Depth

Introduction
*-2PL group
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
Goal
• reduce the number of locks held by using
coarser lock granularity
• may decrease concurrency
• when nodes deeper than lock depth are accessed:
lock modes SR and X are used at the lock depth level
Transaction T1 is reading
the author's last name
© 2006 AG DBIS
title
however, using lock depth 2
Transaction T2 would have to
acquire an X lock on author
and would therefore have to
wait on author
book
CX IX IR
Transaction T2 is updating
the author's first name
Transaction T1 would have to
acquire an SR lock on author
bib
IX IR
IR
T
authorIX
SR IR
price
X
first IX
last
49.99
The Title
IR T
NR
T
Lastname
T
CX
Firstname
X
13
VLDB
2006
Conversion of Node Locks

Conversion for weakest possible locking paths
• LR  CX requires explicit NR locks on all children
• node labeling scheme cannot deliver IDs of descendent nodes
Introduction
*-2PL group
conversion matrix
bib
IX IR IR
-
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
NR
NR
X
title
NR NR
author
last
T
price
NR
first
T
49.99
The Title
T
Lastname
LR
SR
IX
CX
SU SX
IR IR NR
LR
SR
IX
CX
SU SX
NR NR NR NR
LR
SR
IX
CX
SU SX
LR
LR LR LR
LR
SR
IXNR CXNR SU SX
SR SR SR SR
SR
SR
IXSR CXSR SR SX
IR
book
CX NR LR
IR NR
T
Firstname
IX
IXSR
IX
CX
SX SX
CX CX CX CX CXNR CXNR
CX
CX
SX SX
SU SU SU SU
SU
SU
SX
SX
SU SX
SX SX SX SX
SX
SX
SX
SX
SX SX
Transaction T1 is reading <book>
and all its direct-child nodes
Transaction T2 is reading <book>,
the first child node <title> and its value
© 2006 AG DBIS
Transaction T1 is deleting <author>
and its entire subtree
IX IX IX IXNR
CXNR
IX
14
VLDB
2006
taDOM* Group – Lock Protocol Optimization

• new lock modes enable conversion without accessing the document
• e.g., LRCX (level read child exclusive) combines both modes and
avoids application of conversion rule CXNR
Introduction
*-2PL group
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
10. taDOM2+: LRIX, SRIX, LRCX, SRCX

Optimization steps
• 11. taDOM3: modification of a single context node
• 12. taDOM3+: new lock modes to avoid document access
Example: lock conversion in taDOM3
-
IR
NR
LR
SR
IX
NRIX
CX
NRCX
NU
NX
SU
SX
IR
IR
IR
NR
LR
SR
IX
NRIX
CX
NRCX
NU
NX
SU
SX
NR
NR
NR
NR
LR
SR
NRIX
NRIX
NRCX
NRCX
NR
NX
SU
SX
LR
LR
LR
LR
LR
SR
NRIXN
NRIXN
NRCXN
NRCXN
NUNR
NXNR
SU
SX
R
R
R
R
SR
SR
SR
SR
SR
SR
NRIXSR
NRIXSR
NRCXSR
NRCXSR
NUSR
NXSR
SR
SX
IX
IX
IX
NRIX
NRIXNR
NRIXSR
IX
NRIX
CX
NRCX
NX
NX
SX
SX
NRIX
NRIX
NRIX
NRIX
NRIXNR
NRIXSR
NRIX
NRIX
NRCX
NRCX
NX
NX
SX
SX
CX
CX
CX
NRCX
NRCXN
NRCXS
CX
NRCX
CX
NRCX
NX
NX
SX
SX
R
R
NRCX
NRCX
NRCX
NRCX
NX
NX
SX
SX
NRCX
© 2006 AG DBIS
NRCX
NRCX
NRCX
NRCXN
NRCXS
R
R
NU
NU
NU
NU
NUNR
NUSR
NX
NX
NX
NX
NU
NX
SU
SX
NX
NX
NX
NX
NXNR
NXSR
NX
NX
NX
NX
NX
NX
SX
SX
SU
SU
SU
SU
SU
SU
SX
SX
SX
SX
SU
SX
SU
SX
SX
SX
SX
SX
SX
SX
SX
SX
SX
SX
SX
SX
SX
SX
15
VLDB
2006
XTC – Architectural Overview
Interface Services
Introduction
Http Agent
Ftp Agent
DOM RMI
SAX RMI
API RMI
XML Processing Services
MGL* group
taDOM*
group
Introduction
to XTC
XQuery Processor
XML Manager
Node Manager
Lock Manager
Transaction Manager
Node Processing
Services
Path Processing
Transaction Services
Record Mgr
Index Mgr
Catalog Mgr
Access Services
Buffer Manager
Conclusions
and outlook
L4
L3
Propagation Control
Deadlock Detector
Performance
evaluation
L5
XSLT Processor
I/O Manager
Temp File Mgr
File Services
L2
XTCserver
*-2PL group
L1
OS File System
Transaction Log
© 2006 AG DBIS
Container Files
Temporary Files
determination of ancestor node IDs are of outmost importance
for any locking protocol
16
VLDB
2006
taDOM Storage Model – View of Lock Mgr

Introduction
*-2PL group
MGL* group
taDOM*
group
XML document
<?xml version="1.0"?>
<bib>
<book year="2004" id="book1">
<title>The Title</title>
<author>
<last>Lastname</last>
<first>Firstname</first>
</author>
<price>49.99</price>
</book>
</bib>
attribute root node
element node
bib
book
Introduction
to XTC
title
Performance
evaluation
Conclusions
and outlook
id
book1
year
2004
attribute node
© 2006 AG DBIS
price
author
last
T
first
49.99
The Title
text node
T
T
Lastname
T
Firstname
string
node
17
VLDB
2006
Identifying Nodes – Node Numbering Schemes
sequential
Introduction
*-2PL group
3
4
5
book1
9
id
10
6
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
7
title
8
book
author
14
21
18
new 15
13 T
17
Lastname
first
price
19 T
20 49.99
16 T
Firstname
- very slow, although supported by on-demand indexes
- determination of parent ID and ancestor IDs, however, is very frequent
SPLIDs (DeweysIDs)
1
1.3
Conclusions
and outlook
1.3.1
1.3.1.1
1.3.3
id
1.3.3.3
book1
1.3.5
title
T
1.3.5.3
The Title
1.3.1.1.1
1.3.1.3
year
2004
© 2006 AG DBIS
2
last
12
The Title
2004
bib
11
T
year
1
1.3.1.3.1
1.3.3.3.1
1.3.5.3.3 T
last
bib
book
author
1.3.7
1.3.5.5
first
new
1.3.5.4.3
Lastname
1.3.5.3.3.1
price
T 1.3.7.3
49.99
1.3.5.5.3 T
1.3.7.3.1
Firstname
1.3.5.5.3.1
18
VLDB
2006
Meta-Synchronization

• allows identical runtime environment for lock contests
• lock mgr provides methods: supportsSharedLevelLocking,
Introduction
supportsSharedTreeLocking, supportsExclusiveTreeLocking
*-2PL group
MGL* group

taDOM*
group
Introduction
to XTC
Meta-lock requests from node manager to lock manager
• request shared node lock
• request shared level lock
• request tree lock (shared, update, exclusive)
• ...
Performance
evaluation
Conclusions
and outlook
Meta-synchronization

Meta-lock requests are mapped to the actual lock algorithm
• lock manager implements a certain interface
• exchange of the lock manager interface implementation
exchanges the system's complete XML locking mechanism
Advantages of SPLIDs used in all 12 protocols!
© 2006 AG DBIS
19
VLDB
2006
TaMix Benchmark Framework

So far, no update benchmark for XML docs available
• TaMix infrastructure for distributed OLTP benchmarks
Introduction
server
start / stop
XTC Server
Coordinator
*-2PL group
configuration
MGL* group
taDOM*
group
Client
Introduction
to XTC
node
Performance
evaluation
node
Client
node
• a list of TX types is assigned to each client
• each client runs n TX in parallel and keeps the workload level
Conclusions
and outlook

Automated measurement
•
•
•
•

© 2006 AG DBIS
Client
per measurement point 3 runs
configurable runtime interval
for 12 lock protocols
in 6 lock depths
~ 20 hours per measurement
20
VLDB
2006
Performance Measurement

Data base (DataGuide)
Bank
Introduction
*-2PL group
MGL* group
id
taDOM*
group
Introduction
to XTC
Fname
Performance
evaluation
Customers
Accounts
Customer
Account
Balance
Name
Name
Street
Address
No
Zip

id
Standing_Orders
City
Conclusions
and outlook
Day
Credit
Receiver
Owner
Protocols
Postings
Protocol
Posting
Standing_Order
AccountNo
ABA_No
Amount
Disposition
Size
• ~8 MB
• 580,000 taDOM nodes
© 2006 AG DBIS
21
VLDB
2006
Performance Measurement (2)
 Transaction
Introduction
*-2PL group
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
types for Banking benchmark
• bank transfer
(5 TX/client)
- jump to a randomly selected account element
- navigation through the document, update operations for Balance and Posting
• standing order
(5 TX/client)
- random account, navigation to Standing Orders, read of all orders
- evaluation of the Child axis, small fraction of update operations
• customer master
- renaming of a Customer element
(1 TX/client)
- in parallel, reconstruction of randomly selected Customer fragments (5 TX/client)
• account statement
(5 TX/client)
- reconstruction of randomly selected Account fragments
- small amount of update operations (insertion an entry in Protocols)
• removal of a customer from the data base
(2 TX/client)
- deletion of fragments
 Transaction
mix
• processes all transaction types in parallel
• constant system load of 66 transactions
© 2006 AG DBIS
22
VLDB
2006
Performance Measurement (3)

400
Introduction
*-2PL group
350
MGL* group
taDOM*
group
Introduction
to XTC
300
Number of committed transactions in Banking benchmark
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
taDOM3+, taDOM2+
taDOM3, taDOM2
URIX
250
Performance
evaluation
Conclusions
and outlook
200
RIX(+), IRIX(+)
150
Node2PL, NO2PL, OO2PL
100
0
© 2006 AG DBIS
1
2
3
4
lock depth
5
23
VLDB
2006
Performance Measurement (4)

Introduction
Number of aborted transactions in Banking benchmark
700
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
RIX(+), IRIX(+)
*-2PL group
600
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
500
taDOM, URIX
400
300
200
100 Node2PL, NO2PL, OO2PL
0
© 2006 AG DBIS
0
1
2
3
4
lock depth
5
24
VLDB
2006
Detailed Performance Measurement (5)

Successful bank transfers
 node-based navigation, update operations
Introduction
400
*-2PL group
Node2PL, NO2PL, OO2PL
350
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
taDOM2, taDOM3
300
250
200
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
150
100
taDOM,
URIX
50
RIX(+), IRIX(+)
0
© 2006 AG DBIS
0
1
2
3
4
5
lock depth
25
VLDB
2006
Detailed Performance Measurement (6)

Introduction
Successfully modified standing orders
 evaluation of child axis, few update operations
800
*-2PL group
taDOM3+, taDOM2+
700
MGL* group
taDOM*
group
Node2PL, NO2PL,
OO2PL
600
MGL
taDOM3, taDOM2
Introduction
to XTC
500
Performance
evaluation
400
Conclusions
and outlook
300
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
200
taDOM,
URIX
100
0
© 2006 AG DBIS
RIX(+), IRIX(+)
0
1
2
3
4
5
lock depth
26
VLDB
2006
Detailed Performance Measurement (7)

Introduction
Customer Master: successfully modified Customer
elements + reconstructed Customer fragments
 renaming of an inner element node
1500
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
*-2PL group
MGL* group
taDOM*
group
Introduction
to XTC
1400
1300
1200
Performance
evaluation
Conclusions
and outlook
taDOM
URIX
1100
1000
RIX(+), IRIX(+)
900
Node2PL, NO2PL, OO2PL
800
© 2006 AG DBIS
0
1
2
3
4
5
lock depth
27
VLDB
2006
Detailed Performance Measurement (8)

Introduction
Successfully processed account statements
 reconstruction of fragments, few update operations
800
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
*-2PL group
700
MGL* group
600
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
500
taDOM, MGL
400
300
200
Node2PL, NO2PL, OO2PL
100
0
© 2006 AG DBIS
0
1
2
3
4
5
lock depth
28
VLDB
2006
Detailed Performance Measurement (9)

Introduction
Successfully removed customer records
 deletion of fragments
140
taDOM, MGL
*-2PL group
120
MGL* group
taDOM*
group
Introduction
to XTC
Performance
evaluation
Conclusions
and outlook
NO2PL, OO2PL
100
80
60
RIX(+), IRIX(+)
40
taDOM,
URIX
20
Node2PL
0
© 2006 AG DBIS
0
1
2
3
lock protocol
taDOM3+
taDOM3
taDOM2+
taDOM2
URIX
IRIX
IRIX+
RIX
RIX+
OO2PL
NO2PL
Node2PL
4
5
lock depth
29
VLDB
2006
Conclusions and Outlook

XTC is used as a test vehicle for empirical DB research
• effectiveness of XML concurrency control
- fine-granular locking on nodes and edges
- meta-synchronization allows comparison of different compatibilities
- taDOM* protocols
Introduction
*-2PL group




MGL* group
taDOM*
group
multiplicity of lock modes
intention locks are important
indexed document access is frequent
ancestor path locking without accessing the storage engine desirable
• performance evaluation revealed
Introduction
to XTC
-
Performance
evaluation
Conclusions
and outlook

use of tailored lock modes pays off
indexed document access is frequent
effect of isolation levels on transaction throughput
influence of node numbering schemes (insertions at arbitrary positions)
Outlook
• phantom prevention
• mapping different XML language models via access models to our
XML storage model, e. g., to analyze the locking behavior of XQuery
processing
© 2006 AG DBIS
30
VLDB
2006
Introduction
*-2PL group
Contest of XML Lock Protocols
MGL* group
taDOM*
group
Introduction
to XTC
Thank you. Any questions?
Performance
evaluation
Conclusions
and outlook
© 2006 AG DBIS
31