1 Hierarchy Navigation Framework: Supporting Scalable Interactive Exploration over Large Databases Nishant Mehta, Elke A. Rundensteiner and Matt Ward Computer Science Department Worcester Polytechnic Institute IDEAS’05 Thank you to NSF for several IDM grants for XMDV project.
38
Embed
Nishant Mehta, Elke A. Rundensteiner and Matt Ward Computer Science Department
Hierarchy Navigation Framework: Supporting Scalable Interactive Exploration over Large Databases. Nishant Mehta, Elke A. Rundensteiner and Matt Ward Computer Science Department Worcester Polytechnic Institute IDEAS’05 Thank you to NSF for several IDM grants for XMDV project. - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Cluster tree size greater than initial tree Cluster tree may not fit into main memory Structure based brush semantics involve
recursive searches over cluster tree
7
Goal Overall Goal:
Scale hierarchical displays to support navigation over large hierarchies
Subgoals : Support navigation over large-scale
persistent data Store hierarchies on disk Map navigation operations to efficient queries
Meet interactive response requirements
8
Support navigation operations over large scale persistent data
Overview of Approach
Meet interactive response requirements
HierarchyEncoding
Caching
Prefetching
Spatial Indexing
9
Hierarchy EncodingProblem : Structure-based brush Selection semantics involve recursive search Recursive search over secondary storage is slow
Solution: Hierarchy encoding Push recursive processing into precomputation step Precompute label for each node in hierarchy Map recursive search to equivalent non-recursive one
LabelingHierarchical
DataDatabase
Hierarchy Encoding
10
Structure-Based Brush Semantics [Fua:99]
Horizontal Selection Subtree (e1, e2)
Vertical Selection Level of detail (lod)
C D
B
A
E
F
G I
J
H
0.6
0.4
00
000
0.2
0 0
Node selection based on 2 steps:
11
AimSelect subtree that user is interested in viewing
Approach Brush focus extents (e1,e2), select set of base points. Propagate selection: select parent(n) if n is selected
Horizontal Selection
Selected Clusters
Selected Leaves
C D
B
A
E
F
G I
J
H
0.6
0.4
0
00
0
0 0
0.2
0.3
(e1,e2) = (2/6, 11/12) , lod=0.4
12
Non-Recursive Horizontal Selection
Offline Precompute intervals for each node (hmin, hmax) Interval of parent includes interval of childOnline Search for nodes that intersect brush interval (e1,e2)
C D
B
A
E
F
G I
J
H
(0,1/6) (1/6,2/6)
(2/6,3/6)(3/6,4/6)
(4/6,5/6)
(5/6,1)
(0,2/6)
(2/6,5/6)
(2/6,1)
(0,1)
0.6
0.5
0
0
0.3
0.2
00
00
(e1,e2) = (2/6, 11/12) , lod=0.4
13
Vertical Selection Aim
Select points at desired lod (lod handle of SBB) Approach
Explore each branch starting at root to find node: lod(n) <= lod(brush)
C D
B
A
E
GI
J
H
0.6
0.2 0.5
0
0
0
0
0.30 0 F
SBB: (e1,e2) = (2/6, 11/12) , lod=0.4
lod=0.4
14
Non-Recursive Vertical Selection Node n satisfies vertical selection criteria iff:
C D
B
A
E
F
G I
J
H
0.2 0.5
00
0
0.30 0
lod(brush) = 0.4
0.2
,0.
6
0.5
,0.
6
0,0
.5
0
0,0
.3
0,0
.3
0,0
.3
0,0
.2
0,0
.2
0.3
,0.5
0.6
lod(n) <= lod(brush) < lod(parent(n))
Each node n, has extents (vmin,vmax)
vmin<= lod(brush) < vmax
0.6
,
SBB: (e1,e2) = (2/6, 11/12) , b=0.4
15
Non-Recursive Selection
C D
B
A
E
F
G I
J
H
0.6
,
0.2
,0.
6
0.5
,0.
6
0,0
.5
0,0
.3
0,0
.3
0,0
.3
0,0
.2
0,0
.2
0.3
,0.5
(0,1)
(2/6,1)
(4/6,5/6)(3/6,4/6)
(2/6,3/6)
(2/6,5/6)`(0,1/6)
(0,2/6)`
(1/6,2/6) (5/6,1)
Selects all nodes that satisfy: hmin <= e2 and hmax >= e1 vmin <= lod(brush) < vmax
SBB: (e1,e2) = (2/6, 11/12) , lod=0.4
16
2D Hierarchy Map
0.6
0.2
0.5
03/6 4/6 5/6 1
0.3
C D G H I
B
J
F
E
1.0
1/6
Brush
A
C D
B
A
E
F
G I
J
H
0.6
,
0.2
,0.
6
0.5
,0.
6
0,0
.5
0,0
.3
0,0
.3
0,0
.3
0,0
.2
0,0
.2
0.3
,0.5
(0,1)
(2/6,1)
(4/6,5/6)(3/6,4/6)
(2/6,3/6)
(2/6,5/6)(0,1/6)
(0,2/6)
(1/6,2/6)(5/6,1)
SBB: (e1,e2) = (2/6, 11/12) , lod=0.4
e2e1
lod
17
Properties of 2D Hierarchy Map
Progressive Tree Structure Space Filling Non-Overlapping
BF
E
A
C D G H
B
J
F
E
I
1.0
0.6
0.5
0.30.2
011/6 2/6 3/6 4/6 5/6
18
Navigation operations in 2D Hierarchy Map
0.6
0.2
0.5
02/6 3/6 4/6 5/6 1
0.3
C D G H I
B
J
F
E
1.0
1/6
Brush
A
selected
20
Spatial Index Q searches for nodes intersecting structure based
brush Q is spatial range query over spatial objects
2D Hierarchy Map
01/6 2/6 3/6 4/6 5/6 1
Brush0.6
0.2
0.5
BF
E
A
0.3
C D G H
B
J
F
E
I
1.0
Spatial Index (R-Tree index) can help faster searches
26
Next
Caching and Prefetching
27
Presence of idle timePredictable of user movements (User Inertia)
Locality of explorationContiguous queries have similar answers
Input A set of 4 ,1/2 hr. real user traces collected in
[Doshi:2003apr] for dataset D1. A set of 4, 1/2 hr. synthetic user traces for dataset D2
User Trace Sequence of user requests. Each user request (position of SBB, time)
41
Evaluation Metrics Latency for User Trace
Latency Reduction Ratio (lrr)
N
ii
N
ii
T
Llatency
1
1
base
base
Latency
LatencyLatencylrr
Base Configuration
• No Index at the database
• Li = Latency for request i.
• Ti = Number of nodes in
request i
47
Experimental Results: Brief Summary
Spatial Index on the database used alone lrr 33% for Data Set D1 lrr 72% for Data Set D2
Cache lrr 58% for Data Set D1 (Cache Size = 10%) lrr 94% for Data Set D2 (Cache Size = 2%)
Comparison of Replacement Policies Distance replacement policy performs as well or better than LRU Increase in hit ratio 7% , Increase in lrr 2% for Data Set D2
Main Memory Index We need spatial index structures that support high update rates. (e.g. LR-
Tree [Bozanis:2003])
Prefetcher and Cache lrr 63% for Data Set D1 lrr 96% for Data Set D2
48
Related Work Visualization-database integrated systems
Maps tree structures to 2 dimensional spaces Maps visual exploration operations to spatial
range queries
Designed cache to reduce response time Replacement Policy: Distance or LRU Cache Lookup: Sequential or Spatial Index
Integrated direction-based prefetcher Implemented in free-ware XMDV Tool Conducted a performance study
50
References[Doshi:2003] P. Doshi et al. Prefetching for Visual Data Exploration [Doshi:2003apr] P. Doshi et al. A strategy selection framework for adaptive prefetching
in data visualization[Bozanis:2003] P. Bozanis et al. LR-Tree: a logarithmic decomposable spatial index
method[Celko:2004] J. Celko. Joe Celko’s Trees and Hierarchies in SQL for Smarties[Teuhola:1996] J. Teuhola. Path signatures to speed up recursion in relational
databases[Stonebaker:1993] M. Stonebraker et al. Providing data management support for
scientific visualization applications[dar:1996] S. Dar et al. Semantic Data Caching and Replacement[keller:1996] A.M. Keller et al. A predicated based caching scheme for client-server
database architectures.[Kurc:2001] T. Kurc et al. Exploration and visualization of large datasets with the active
data repository[Johnson:1992] M. Goldner et al. Usd- a database management system for scientific
research[Fua:1999] Y.H. Fua et al. Navigating hierarchies with structure-based brushes[dietz:1982] P.F. Dietz, Maintaining order in a linked list[tatxmlorder:2002] I. Tatarinov et al. Storing and Querying Ordered {XML} Using a
Relational Database System[Stroe:2000] I. Stroe. Scalable Visual Hierarchy Exploration