# VBI-Tree: A Peer-to-Peer Framework for Supporting Multi-Dimensional Indexing Schemes Presenter: Quang Hieu Vu H.V.Jagadish, Beng Chin Ooi, Quang Hieu Vu,

## Presentation on theme: "VBI-Tree: A Peer-to-Peer Framework for Supporting Multi-Dimensional Indexing Schemes Presenter: Quang Hieu Vu H.V.Jagadish, Beng Chin Ooi, Quang Hieu Vu,"— Presentation transcript:

VBI-Tree: A Peer-to-Peer Framework for Supporting Multi-Dimensional Indexing Schemes Presenter: Quang Hieu Vu H.V.Jagadish, Beng Chin Ooi, Quang Hieu Vu, Rong Zhang, Aoying Zhou

VBI (Virtual Binary Index) -Tree framework

BATON: BAlanced Tree Overlay Network (VLDB’05) Definition: A tree is balanced if and only if at any node in the tree the height of its two subtrees differ by at most one. Binary Balanced Tree Index Architecture m

Properties Property 1: A tree is a balanced tree if every node in the tree that has a child also has both its left and right routing tables full A routing table is full if none of its valid links is NULL Property 2: If a node x contains a link to another node y in its left or right routing tables, the parent node of x must also contain a link to the parent node of y unless the same node is parent of both x and y

VBI-Tree structure VBI-Tree Structure

VBI-Tree structure Differences with BATON: Two kinds of nodes: routing nodes (internal nodes) and data nodes (leaf nodes). Each peer node is in charge of a pair of node: routing node and data node Each node has an additional upside path which keeps information of regions covered by the node’s ancestors. Theorem: In an in-order traversal of the VBI-Tree, data nodes and routing nodes alternate.

Node join Two phases: First phase: determine where the new node should join Similar to BATON’s join algorithm except that only routing nodes are considered Second phase: the node accepting the new node splits its correspondence data node into two parts It keeps one part, the new node keeps one part

New node u joins the network a ih kjmlon f d g e b c pqrs u h’ d’i’ b’k’ a’m’ c’n’ g’ o’ l’ p’ j’q’ e’ r’ f’s’ t’ u’ n’ u Example

Node departure Similar to BATON except that only routing nodes are considered Only leaf routing nodes whose routing neighbor nodes don’t have full routing children nodes can leave the network Upon leaving, children data nodes of the departed routing node are merged together. The new data node is pulled up to replace the position of the departed routing node. Others have to find a replacement routing node which is a routing node in the first case

r’ f’ Leaf routing node r leaves the network a ih kjmlon f d g e b c pqrs h’ d’i’ b’k’ a’m’ c’n’ g’ o’ l’ p’ j’q’ e’s’ t’ f’ Example

Index construction Each internal node manages a region covering all regions managed by its children Data is stored only at leaf nodes Discrete data: help to avoid updating upside paths frequently Two dimensional index construction

Range query search If the node region covers or intersects with the searched region The query is processed at the node and/or its children If there is any ancestor of a node whose region intersects with the searched region If the node in other side hasn’t been searched before The query is forwarded to that node Else The query is forwarded upward to the ancestor Note: ancestors whose children cover the whole searched region don’t need to be searched

Example Node h wants to search the shaded region ed gf b c a jk e’ a’g’ j’ f’k’ c’ l’ hi h’ d’i’ b’

Load balancing Similar to rotations of AVL tree LL Rotation LR Rotation

Load balancing RR Rotation RL Rotation

Experimental study Experimental setup Implement M-tree over VBI-Tree framework. 100000 data objects are inserted into a network of 10000 nodes. 1000 exact queries, 1000 range queries, and 1000 kNN queries are executed. CAN is used for comparison.

Performance of point queries Average and maximum hops in different dimensions Average hops in different network sizes

Performance of range and kNN queries Average hops to find range query results Average hops to find kNN query results

Cost of updating upside path vs cost of search Average number of messages for updating upside paths Average number of hops for searching queries

Effect of load balancing Average additional number of messages required in case of skewed data distribution Size of load balancing process