30.08.2014 Views

url - Universität zu Lübeck

url - Universität zu Lübeck

url - Universität zu Lübeck

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 7<br />

The XML Index Update Problem<br />

In contrast to relational DBMS, where indexes and index structures are wellknown<br />

since decades, indexes in XDBMS are still an active field of research with<br />

no standards established yet. A lot of approaches have been introduced in recent<br />

years dealing with indexes for querying XML data. The problem of updating an<br />

index is a minor focus of most publications. If at all, the authors describe how<br />

their data structure can be updated from a technical point of view. To the best<br />

of our knowledge, the problem whether an XML index i is affected by a modifying<br />

operation o has never been faced before. We call this problem the XML Index Update<br />

Problem (XIUP).<br />

In this chapter we give an algorithm that is based on finite automata theory and<br />

decides whether an XPath-based database operation affects an index that is defined<br />

universally upon keys, qualifiers, and a return value of an XPath expression.<br />

Although we focus on the KeyX indexing approach the general idea and the algorithms<br />

are transferable to other selective indexing approaches for semistructured<br />

data. If an approach is non-selective (it covers all data) it is affected by any modification.<br />

We present an efficient intersection algorithm for the XPath fragment XP {[],∗,//}<br />

containing path expressions without the NOT operator. The algorithm is based<br />

on finite automata. For the XPath fragment XP {[],∗,//,NOT } containing path expressions<br />

with the NOT operator the intersection problem becomes NP -complete<br />

leading to exponential computations in general. With an average case simulation<br />

we show that the NP -completeness is no significant limitation for most real-world<br />

database operations.<br />

In addition, we provide algorithms for updating our KeyX indexes efficiently if<br />

they are affected by a modification. The Index Update Problem is relevant for all<br />

applications that use a secondary XML data representation (e.g. indexes, caches,<br />

XML replication/synchronization services) where updates must be identified and<br />

realized.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!