1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université...

25
1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire d’Informatique, Campus de Blois {Arnaud.Giacometti, Patrick.Marcel, Elsa.Negre}@univ-

Transcript of 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université...

Page 1: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

1

OLAP : Un pas vers la navigation

Arnaud Giacometti, Patrick Marcel, Elsa Negre

Université François-Rabelais de ToursLaboratoire d’Informatique, Campus de Blois

{Arnaud.Giacometti, Patrick.Marcel, Elsa.Negre}@univ-tours.fr

Page 2: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

2

Plan

Motivations

La navigation pour OLAP

Opérateurs

Conclusion et Perspectives

Page 3: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

3

Motivations Cadre : modélisation d’une analyse

Analyse = ensemble de requêtes qui ont été posées

+ les liens entre ces requêtes

+ les réponses à ces requêtes

Page 4: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

4

Motivation 1:Revenir en arrière ?

20042005

TIME

SALES (Price, Quantity)

(200, 20)(250, 20)

LOCATIONCentre

Blois Orleans Tours2004 (100, 10) (100, 15) (100, 10)2005 (100, 10) (100, 20) (150, 10)

TIME

SALES (Price,

Quantity)

LOCATIONCentre

Blois Tours2004 (100, 10) (100, 10)2005 (100, 10) (150, 10)

TIME

SALES (Price,

Quantity)

LOCATIONCentre

σCity= Blois v City=Tours

πRegion, Year;

sum(Price), sum(Quantity)?Drill-Down

Page 5: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

5

Motivation 2: (1)Comment rejouer une analyse ?

Hifi Meat Hifi Meat2003 (100, 10) (110, 3) (110, 20) (110, 30)2004 (100, 10) (130, 50) (150, 10) (160, 10)2005 (150, 10) (130, 50) (120, 20) (160, 10)

SALES (Price, Quantity)

TIME

JapanPRODUCT PRODUCT

LOCATIONChina

?

σYear= 2005

France Spain2005 (100, 20) (100, 20)

SALES (Price, Quantity)TIME

LOCATION

France Spain2003 (100, 10) (100, 10)2004 (100, 15) (100, 10)2005 (100, 20) (100, 20)

SALES (Price, Quantity)

TIME

LOCATION

πCountry, Year;

sum(Price), sum(Quantity)

France Spain2005

SALES (Price, Quantity)TIME

LOCATION

(200, 40)

France Spain2004 (100, 15) (100, 10)

SALES (Price, Quantity)

TIME

LOCATION

σYear= 2004

Page 6: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

6

Motivation 2: (2)Comment rejouer une analyse ?

Hifi Meat Hifi Meat2003 (100, 10) (110, 3) (110, 20) (110, 30)2004 (100, 10) (130, 50) (150, 10) (160, 10)2005 (150, 10) (130, 50) (120, 20) (160, 10)

SALES (Price, Quantity)

TIME

JapanPRODUCT PRODUCT

LOCATIONChina

Japan ChinaTIME 2005 (560, 90)

SALES (Price, Quantity)

LOCATION

σYear= 2005σYear= 2004

Hifi Meat Hifi MeatTIME 2004 (100, 10) (130, 50) (150, 10) (160, 10)

PRODUCT

LOCATIONChina

SALES (Price,

Quantity)

JapanPRODUCT

Hifi Meat Hifi MeatTIME 2005 (150, 10) (130, 50) (120, 20) (160, 10)

PRODUCT

LOCATIONChina

SALES (Price,

Quantity)

JapanPRODUCT

πCountry, Year;

sum(Price), sum(Quantity)

Page 7: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

7

Motivation 3: Comment changer une opération dans une analyse ?

England France Japan Spain2003 (100, 10) (100, 10) (100, 10) (100, 10)2004 (100, 10) (100, 15) (100, 10) (100, 10)2005 (100, 10) (100, 20) (150, 10) (100, 20)

SALES (Price, Quantity)

TIME

LOCATION

σCountry= France

v Country= Spain

σYear= 2005

France Spain2005 (100, 20) (100, 20)

SALES (Price, Quantity)TIME

LOCATION

France Spain2003 (100, 10) (100, 10)2004 (100, 15) (100, 10)2005 (100, 20) (100, 20)

SALES (Price, Quantity)

TIME

LOCATION

πCountry, Year;

sum(Price), sum(Quantity)

σYear=

2004 ?

France Spain2005

SALES (Price, Quantity)TIME

LOCATION

(200, 40)

Page 8: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

8

Motivation 4: Comment optimiser ?

A été évaluée :

πRegion, Year; sum(Price), sum(Quantity) (σYear= 2005 (σCountry=France v Country=Spain )) C0

Est demandée:

πRegion, Year; sum(Price), sum(Quantity) (σYear= 2004 (σCountry=France v Country=Spain )) C0

Pourrait être évaluée :

πRegion, Year; sum(Price), sum(Quantity) (σYear= 2004) C1

Page 9: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

9

Plan

Motivations

La navigation pour OLAP

Opérateurs

Conclusion et Perspectives

Page 10: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

10

La navigation pour OLAP (1)

Pour quoi ?

Explorer les données contenues dans un cube

Revenir à des réponses de requêtes déjà vues

Faire référence à des requêtes déjà posées

Page 11: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

11

La navigation pour OLAP (2)

Contributions :

Proposition de définition pour la navigation : ensemble de requêtes, de leurs réponses et des liens entres

elles

+ un pointeur sur la dernière requête posée

Des opérations pour la construction de navigations

Page 12: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

12

La navigation pour OLAP (3)

Liens entre requêtes : q’ = op(q)

Structure d’arbres (arbre ordonné) avec les opérations usuelles sur les

arbres (sous_arbre, racine, fils, père, …)

Nœud = cube + dernière opération

Page 13: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

13

La navigation pour OLAP (4)

Exemple de navigation

<C0, T>

<C1, σCountry=France v Country=Spain >

<C4, σYear= 2004 ><C2, σYear= 2005

>

<C3, πRegion, Year; sum(Quantity)> <C5, πRegion, Year; sum(Quantity)>

<C6, σCountry=Japan >

<C7, σYear= 2005

><C9, σYear= 2004 >

<C8, πRegion, Year; sum(Quantity)><C10, πRegion, Year;

sum(Quantity)>

Page 14: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

14

Plan

Motivations

La navigation pour OLAP

Opérateurs

Conclusion et Perspectives

Page 15: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

15

Opérateurs

Production de nouveaux cubes Appliquer les opérations OLAP Apply, Replay, Replace

Se déplacer parmi les cubes produits Back, Forward

Tous les opérateurs sont définis avec les opérations usuelles sur les arbres

Page 16: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

16

Opérateurs : Apply

ApplyσYear=2005(N1)=N2

N1

N2

<C0, T>

<C1, σCountry=France v Country=Spain >

<C0, T>

<C1, σCountry=France v Country=Spain >

<C2, σYear= 2005

>

Page 17: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

17

Opérateurs : Replace

Replaceθ(N6) = N7 avec θ = {σyear=2005 / σyear=2004}

N6

N7

<C0, T>

<C1, σCountry=France v Country=Spain >

<C2, σYear= 2005

>

<C3, πRegion, Year; sum(Quantity)>

<C0, T>

<C1, σCountry=France v Country=Spain >

<C4, σYear= 2004 ><C2, σYear= 2005

>

<C3, πRegion, Year; sum(Quantity)>

<C5, πRegion, Year; sum(Quantity)>

Page 18: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

18

Opérateurs : Replay

Replay(N12 , N8) = N13

N8

N12

<C0, T>

<C3, σYear= 2004 ><C1, σYear= 2005 >

<C2, πRegion, Year; sum(Quantity)> <C4, πRegion, Year;

sum(Quantity)>

<C0, T><C1, σCountry=France v Country=Spain

><C2, σCountry=Japan

>

<C0, T>

<C1, σCountry=France v Country=Spain > <C2, σCountry=Japan >

<C3, σYear= 2005 > <C5, σYear= 2004 >

<C4, πRegion, Year; sum(Quantity)> <C6, πRegion, Year; sum(Quantity)> N13

Page 19: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

19

Opérateurs : Back et Forward

Forward1(N5) = N4 Back(N4) = N5

N4

N5

<C0, T>

<C1, σCountry=France v Country=Spain >

<C4, σYear= 2004 ><C2, σYear= 2005

>

<C0, T>

<C1, σCountry=France v Country=Spain >

<C4, σYear= 2004 ><C2, σYear= 2005

>

Page 20: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

20<C3, πRegion, Year; sum(Quantity)>

Opérateurs : Exemple de composition

<C0, T>

<C1, σCountry=France v Country=Spain >

<C4, σYear= 2004 ><C2, σYear= 2005

>

<C5, πRegion, Year; sum(Quantity)>

<C6, σCountry=Japan >

<C7, σYear= 2005

><C9, σYear= 2004 >

<C8, πRegion, Year;

sum(Quantity)><C10, πRegion, Year;

sum(Quantity)>

(1) ApplyσCountry=France v Country=Spain (N0) = N1

(6) ApplyσCountry=Japan (N5) = N6

(5) Back( Back( Back (N4) ) ) = N5

(4) Replaceθ(N3) = N4 avec θ = {σyear=2005/σyear=2004}(3) ApplyπRegion, Year; sum(Quantity)(N2) = N3

(2) ApplyσYear= 2005 (N1) = N2

(7) Replay (N6 ,N10) = N7 avec N10 = Back( Back(N4) )

Page 21: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

21

Plan

Motivations

La navigation pour OLAP

Opérateurs

Conclusion et Perspectives

Page 22: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

22

Conclusion et Perspectives

Contributions:

Proposer une définition pour la navigation en OLAP

Faciliter les traitements sophistiqués : Replay Replace

Page 23: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

23

Conclusion et Perspectives Perspectives:

Améliorer le modèle : Langage de manipulation Partage de navigations Autres relations entre requêtes

Implémentation Gestion de caches

Page 24: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

24

Merci pour votre attention

Page 25: 1 OLAP : Un pas vers la navigation Arnaud Giacometti, Patrick Marcel, Elsa Negre Université François-Rabelais de Tours Laboratoire dInformatique, Campus.

25

Pourquoi des arbres ?

Structure usuelle pour la navigation sur le Web

Graphes : Non nécessité de tests d’équivalence de

requêtes (comparaison sémantique)

Garder le lien