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-

Upload: richaud-galland

Post on 04-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

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