05.02.2014 Views

Hashing Methods for Temporal Data - Computer Science - Boston ...

Hashing Methods for Temporal Data - Computer Science - Boston ...

Hashing Methods for Temporal Data - Computer Science - Boston ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KOLLIOS AND TSOTRAS: HASHING METHODS FOR TEMPORAL DATA 17<br />

Fig. 7. a) Query, b) update, and c) space per<strong>for</strong>mance <strong>for</strong> PPLH-s on a uni<strong>for</strong>m workload with varying values of the usefulness parameter u.<br />

discussion in this paper assumes temporal membership<br />

queries over a linear transaction-time evolution. It is<br />

interesting to investigate hashing in branched transaction<br />

environments [25].<br />

APPENDIX<br />

UPDATE AND SPACE ANALYSIS OF THE<br />

EVOLVING-LIST APPROACH<br />

The NT arrays facilitate the efficient location of the next list<br />

page. However,if,during the usefulness period of page A,<br />

its next page changes often,array NT…A† can become full.<br />

Assume this scenario happens at time t and let C be the<br />

page be<strong>for</strong>e page A. Page A is then artificially replaced in the<br />

list by page A 0 . The B r part of A 0 is a copy of the B r part of<br />

page A thus, A 0 is useful),but NT…A 0 † is empty. A new<br />

entry is added in NT…C† with the pid of A 0 and the first<br />

entry of NT…A 0 † stores the pid of the page if any) that was<br />

after page A at t. If all list pages until page A had their<br />

NT arrays full,the above process of artificially turning<br />

useful pages to nonuseful ones can propagate all the way to<br />

the beginning of the list. If the first list page is replaced,<br />

array FT j is updated. However,this does not happen often.<br />

Fig. 8 shows an example of how arrays NT…† and FT j are<br />

maintained. From each page,only the NT array is shown.<br />

In this example, B-B r ˆ 4 entries. At time t 6 ,array NT…A†<br />

fills up and an artificial copy of page A is created with array<br />

NT…A 0 †. Array NT…C† is also updated about the artificially<br />

created new page.<br />

The artificial creation of page A 0 provides faster query<br />

processing. If instead of creating page A 0 , NT…A† is allowed<br />

to grow over the B-B r area of page A using additional<br />

pages),the last entry on NT…C† still points to page A.<br />

Locating the next page after C at time t would lead to page A,<br />

but then a serial search among the pages of array NT…A† is<br />

needed. Clearly,this approach is inefficient if the page in<br />

front of page A changes many times. Using the artificial<br />

pages,the next useful list page <strong>for</strong> any time of interest is<br />

found by one I/O! This technique is a generalization of the<br />

backward updating technique used in [35].<br />

In the evolving-list approach,copying occurs when a<br />

page turns nonuseful or when a page is artificially replaced.<br />

We first consider the evolving-list without the artificial page<br />

replacements and show that the copying due to page<br />

usefulness is linear to the total number of real oid changes.<br />

We use an amortization argument that counts the number<br />

of real changes that occur to a page be<strong>for</strong>e this page<br />

becomes nonuseful. A useful page can become nonuseful

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

Saved successfully!

Ooh no, something went wrong!