43
© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt FORW ISS FORW ISS 1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method Volker Markl Rudolf Bayer http://mistral.in.tum.de FORWISS (Bayerisches Forschungszentrum für Wissensbasierte Systeme)

© 2000 FORWISS, 1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

Embed Size (px)

Citation preview

Page 1: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

1

MISTRALProcessing Relational Queries Using a Multidimensional Access

Method

Volker MarklRudolf Bayer

http://mistral.in.tum.de

FORWISS

(Bayerisches Forschungszentrumfür Wissensbasierte Systeme)

Page 2: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

2

Staff MembersMISTRAL Project Management

Prof. Rudolf Bayer, Ph.D. (FORWISS Knowledge Bases Group Head)

Dr. Volker Markl (MISTRAL Project Leader, Deputy Research Group Head)

MISTRAL Research Assistants

Dipl. Inform. Robert Fenk

Dipl. Inform. Roland Pieringer

Frank Ramsak, M.Sc.

Dipl. Inform. Martin Zirkel

MISTRAL Master Students and InternsRalf Acker, Bulent Altan, Sonja Antunes, Michael Bauer, Sascha Catelin, Naoufel Boulila, Nils Frielinghaus,

Sebastian Hick, Stefan Krause, Jörg Lanzinger, Christian Leiter, Yiwen Lue, Stephan Merkel, Nasim Nadjafi, Oliver

Nickel, Daniel Ovadya, Markus Pfadenauer, Timka Piric, Sabine Rauschendorfer, Antonius Salim, Maximilian

Schramm, Michael Streichsbier, Anton Tichatschek

Page 3: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

3

http://mistral.in.tum.de

Range Queries

Tetris Algorithm

Page 4: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

4

Overview1. Concept of the UB-Tree: Z-Regions

2. Insertion

3. Range Query Algorithm

4. Tetris Algorithm

5. Kernel Integration

6. Performance Overview

Page 5: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

5

Relations and MD Space Decision Support Relation (similar to TPC-D)

– Fact(customer, product, time, Sales) defines a three dimensional cube

Point Query– All sales for one customer for one specific product on

a certain day

Partial Match Query– All sales for product X

Range Query– All sales for year 1999 for a specific product group

for a specific customer group

Page 6: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

6

Design Goals

clustering tuples on disk pages while preserving spatial proximity

efficient incremental organization

logarithmic worst-case guarantees for insertion, deletion and point queries

efficient handling of range queries

good average memory utilization

Page 7: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

7

Z-Ordering

1

0 1

1, 2)Z(

s

i

d

j

jdiijxx

10 54 1716 212032 76 1918 232298 1312 2524 29281110 1514 2726 3130

3332 3736 4948 53523534 3938 5150 55544140 4544 5756 61604342 4746 5958 6362

10 32 54 76

10

4

2

5

3

76

(a) (b)

Page 8: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

8

Z-regions/UB-TreesA Z-region [ : ] is the space covered by an interval on the Z-curve and is defined by two Z-addresses and .

UB-Tree partitioning:[0 : 3],[4 : 20],[21 : 35], [36 : 47],[48 : 63]

Z-region [4 : 20]

4 20

point data creating the UB-Tree on the left for a page capacity of 2 points

Page 9: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

9

UB-Tree Insertion 1/2/3/4

Page 10: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

10

UB-Tree Insertion 18/19

Page 11: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

11

Multidimensional Range Query

SELECT * FROM table WHERE (A1 BETWEEN a1 AND b1) AND (A2 BETWEEN a2 AND b2) AND

.....(An BETWEEN an AND bn)

Page 12: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

12

Theoretical Comparison of the Rangequery Performance

idealcase

s1*s2*P

multidimensionalindex

s1 *s2

*P

multipleB-Trees,

bitmap indexes

s1*I1+s2*I2+s1*s2*T

composite key clustering

B-Tree

s1*P

Page 13: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

13

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 14: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

14

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 15: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

15

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 16: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

16

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 17: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

17

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 18: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

18

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 19: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

19

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 20: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

20

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 21: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

21

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 22: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

22

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 23: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

23

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 24: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

24

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 25: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

25

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 26: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

26

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 27: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

27

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 28: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

28

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 29: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

29

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 30: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

30

rangeQuery(Tuple ql, Tuple qh) { Zaddress start = Z(ql); Zaddress cur = start; Zaddress end = Z(qh); Page page = {};

while (1) { cur = getRegionSeparator(cur); page = getPage(cur); outputMatchingTuples(page, ql, qh); if ( cur >= end ) break; cur = getNextZAddress(cur, start, end); }}

B*-Tree

linear Z-space

UB-Tree

Page 31: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

31

Range Queries and Data Distributions

Page 32: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

32

Growing Databases

1000 tuples 50 000 tuples

Page 33: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

33

Summary UB-Trees 50% storage utilization, dynamic updates

Efficient Z-address calculation (bit-interleaving)

Logarithmic performance for the basic operations

Efficient range query algorithm (bit-operations)

Prototype UB/API above RDBMS (Oracle 8, Informix, DB2 UDB, TransBase, MS SQL 7.0) using ESQL/C

Patent application

Page 34: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

34

Standard Query Pattern

SELECT * FROM table WHERE (A1 BETWEEN a1 AND b1) AND (A2 BETWEEN a2 AND b2) AND

.....(An BETWEEN an AND bn)

ORDER BY Ai, Aj, Ak, ... (GROUP BY Ai, Aj, Ak, ...)

Page 35: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

35

Z-Order/Tetris Order

10 32 54 76

10

4

2

5

3

76

A2

A1

0

63

10 32 54 76

10

4

2

5

3

76

A2

A1

0

63

Tj(x) = xj ∘ Z(x1,...,xj-1,xj+1,...,xd)

10

4

2

5

3

76

10 32 54 76 A2

A1

Page 36: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

36

The Tetris Algorithm

sortdirection

Page 37: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

37

Summary Tetris Combines sort process and evaluation of multi-

attribute restrictions in one processing step

I/O-time linear w.r. to result set size

temporary storage sublinear w.r. to result set size

Sorting no longer a “blocking operation”

Patent application

Page 38: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

38

Integration Issues Starting point with TransBase:

– clustering B*-Tree

– appropriate data type for Z-values: variable bit strings

Modifications to B*-Tree in TransBase:

– support for computed keys:

» Z-values are only stored in the index, not together with the

tuples

» tuples are stored in Z-order

– generalization of splitting algorithm:

» computed page separators for improved space partitioning

Page 39: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

39

Minor extensions:

Major extensions:

New modules:

NO changes for:

– DML

– Multi-user support, i.e.,

locking, logging facilities

handled by underlying B*-

TreeAccess Structure

Manager

Query Processor

LockManager

CatalogManager

Creation of UB-Trees

SQLCompiler/Interpreter

Extend Parser with DDL statementsfor UB-Trees

QueryOptimizer

New Rules+Cost Modelfor UB-Trees

UB-Tree Range Query Support

UB-Tree Modules:Transformation Functions, Page Splitting, Range Query

StorageManager

Recovery Manager

BufferManager

Communication Manager

Page 40: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

40

Summary Integration Integration of the UB-Tree has been achieved within one year

TransBase HyperCube is shipping since Systems 1999 and was awarded the 2001 IT-Prize by EUROCASE and the European Commission

UB-Trees speed up relational DBMS for multidimensional applications like Geo-DB and data warehouse up to two orders of magnitude

Speedup is even more dramatic for CD-ROM databases (archives)

Page 41: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

41

Application Fields of the UB-Tree Data Warehouses

– Measurements with SAP BW Data

» UB-Tree/API for Oracle

» UB-Tree on top of Oracle outperforms conventional B-Tree and Bitmap

indexes in Oracle!

– Measurements with the GfK Data Warehouse

» UB-Tree in TransBase HyperCube

» significant performance increases (Factor of 10)

Geographic Databases

„Multidimensional Problems“

– Archiving Systems, Lifecycle-Management, Data Mining, OLAP, OLTP, etc.

Page 42: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

42

The UB-Tree

Page 43: © 2000 FORWISS,  1 MISTRAL Processing Relational Queries Using a Multidimensional Access Method

© 2000 FORWISS, http://mistral.in.tum.de/results/presentations/ppt/ubtree.ppt

FORWISSFORWISS

43

Further Information

Tetris

HI

MISTRAL

UB-Tree

Temptris

http://mistral.in.tum.de

[email protected]