Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science...

25
Vertical Partitioning in Object-Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University

Transcript of Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science...

Page 1: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

Vertical Partitioning in Object-Oriented Databases

Mazen AbouKhamis

Department of Computer Science and Engineering

Southern Methodist University

Page 2: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 2

Outline of Presentation

Introduction Object Model Overview Representations of Vertical Partitions ISA hierarchy Partition Evaluator Generalized Algorithm Summary Future Work

Page 3: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 3

Introduction

Why do we need the object-oriented approach? Considering additional features Complexity of vertical partitioning in object-oriented

databases

Page 4: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 4

Object Model Overview

Definitions of the object [2,3]

State & behavior Simple attributes vs. Complex attributes Simple methods vs. Complex methods “Containing” Class

Page 5: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 5

Representations of Vertical Partitions

Vertical Partition Requirement Unit of Partitioning [1,5]

Local methods vs. Global methods

Page 6: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 6

Representations of Vertical Partitions (cont…)

Figure 1 from [1]

Page 7: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 7

ISA Hierarchy

Figure 3 from [1]

Page 8: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 8

Partition Evaluator

Figure 4 from [2]

Page 9: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 9

Generalized Algorithm

No need to construct new tools. Represent the Information in 3 matrices:

Transaction-Method Usage Matrix Method-Method Usage Matrix Method-Attribute Usage Matrix

Page 10: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 10

Generalized Algorithm (cont…)

Transaction-Method Usage Matrix (TMUM): “It is the matrix of frequencies that indicates if the transactions calls specific methods”. [2]

Used values are either 0 (no call) or 1 (call).

Figure 5 from [2]

Page 11: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 11

Generalized Algorithm (cont…)

Method-Method Usage Matrix (MMUM): “It is the matrix of frequencies that indicates whether the method calls other methods or not.” [2]

This matrix doesn’t exist in case of simple methods. Values 0 or 1 represent the existence of nested calls. If the value = 2, then the method is called through

complex attribute.

Figure 6 from [2]

Page 12: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 12

Generalized Algorithm (cont…)

Method-Attribute Usage Matrix (MAUM): “It is the matrix that represents the number of invocations of a specific attribute in one execution of a method”. [2]

Value = 0 : Method does not access an attribute Value = 1 : method retrieves the value of an attribute Value = 2 : Method updates the value of an attribute

Figure 7 from [2]

Page 13: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 13

Generalized Algorithm (cont…)

Do you still remember Attribute Usage Matrix in the relational approach?

Transaction Attribute Usage Matrix = TMUM * MAUM

In the process of developing the vertical partitions, 4 cases have to be considered:

Simple attributes and simple methods Simple attributes and complex methods complex attributes and simple methods Complex attributes and simple methods

Page 14: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 14

Simple Attributes & Simple Methods -Algorithm steps- [2]

1. Specify in TMUM and MAUM all the used methods and

attributes from the root to the established level of granularity.

2*. Multiply each row of the TMUM with the corresponding values of transaction frequencies.

3. Multiply TMUM ad MAUM.

4. Apply the PEOO for selecting the best fragmentation scheme. (Attributes of the subclasses of “level > i” are considered indivisible).

5. Propagate the obtained fragmentation.

* Sometimes, we have to multiply TMUM and MMUM before starting

2nd step (we will talk about this in next slides).

Page 15: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 15

Simple Attributes & Simple Methods

Figure 8 from [2]

Page 16: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 16

Simple Attributes & Simple Methods (cont…)

Consider that the level of granularity is 1 for both roots, then TMUM will be represented as below:

The values in the columns Mi represent the sum of the frequencies

of accessing the methods by corresponding transaction.

Figure 9 from [2]

Page 17: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 17

Simple Attributes & Simple Methods (cont…)

MAUM for this example will be represented in the figure below:

The columns represented as ATk are the sum of the frequencies of accessing the attributes by a corresponding method.

The intersections of the rows of Mi and ATk have the values that represent the sum of frequencies of all the attributes in ATk

accessed by methods in Mi.

Figure 10 from [2]

Page 18: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 18

Simple Attributes & Simple Methods (cont…)

Figure 11 from [2]

Figure 12 from [2]

Page 19: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 19

Simple Attributes & Simple Methods (cont…)

Suppose that after applying the PEOO with granularity level 1, we obtain 2 fragments: the first has the attribute at1

1,1 and the second has at2

1,2 . The next figure will show the propagation for class1.

Figure 13 from [2]

Page 20: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 20

Simple Attributes & Complex Methods

In this case, we have the possibility of nested calls whether in the same class or between the classes that belong to upper levels of the same path of the hierarchy tree.

The edges from the graph above will be presented in TMUM and MMUM on the corresponding positions with the value equal 1.

Before we multiply TMUM by MAUM, we have first to Multiply TMUM by MMUM to take into consideration all nested calls.

Figure 14 from [2]

Page 21: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 21

Complex Attributes & Simple Methods

In this case, we have the situation that when a complex attribute is accessed in reality, we access this attribute and some methods of the class that this attribute is pointing to.

Eliminate complex attribute from the fragmentation scheme.

Example:

The relationship between the methods are already reflected in MMUM in the positions (p, l) and (p, s) and no modifications have to be done to MAUM

Figure 15 from [2]

Page 22: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 22

Complex Attributes & Complex methods

We can see that this case has been included in the analysis of the previous case.

Page 23: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 23

Summary

Vertical partitioning in object-oriented databases is more complex than in relational databases.

Inheritance increases the complexity of the problem domain.

In the Object-Oriented approach, we can partition attributes first and insert methods afterwards or vice versa.

The concept on vertical partitioning is extended to the object-oriented database by creating new additional matrices.

For all the 4 cases presented, the applied partitioning algorithm is the same as presented for simple attributes and simple methods except for simple refinement in the case of nested calls.

Page 24: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 24

Future work

Many of the assumptions considered before creating the new matrices will be revised (For example, researchers will take into consideration the existence of the type tuple, set, and list).

Studying some aspects in more details such as trying to proof that the presented partitioning can be done whatever physical storage is chosen from the two options:

The objects of subclasses are replicated in each of the levels of their super classes.

The Object physically exists only on one level of the class that they belong to.

Page 25: Vertical Partitioning in Object- Oriented Databases Mazen AbouKhamis Department of Computer Science and Engineering Southern Methodist University.

May 1, 2004 25

References

[1] Chinchwadkar, G. S., and Goh, A. An Overview of Vertical Partitioning in Object Oriented Databases. School of Applied Science, Nanyang Technological University, Singapore, January 1999.

[2] Malinowski, E. Fragmentation Techniques for Distributed Object-Oriented Databases. MS Thesis, University of Florida, 1996.

[3] Ozsu, M.T., and Valduriez, P. Principles of Distributed Database System. Prentice Hall, Englewood Cliffs, NJ, 1991.

[4] Elmasri, R. and Navathe, S. B. Fundamentals of Database Systems. The Benjamin/Cummings Publishing Company, New York, 1994.

[5] Ezeife, C. I., Baker, K. Vertical Class Fragmentation in Distributed Object Based Databases. Department of Computer Science, University Of Manitoba, Canada.