nosqlnosql modeling modeling of of bigbig data

15
MOBIDIK MOBIDIK nosql nosql MOdeling MOdeling of of BIg BIg Data, Information and Data, Information and Knowledge Knowledge M. Chevalier, A. Kopliku, M. El Malki, O.Teste, R. Tournier IRIT - Equipe SIG (Systèmes d’Informations Généralisés) 1

Upload: others

Post on 18-Jun-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: nosqlnosql MOdeling MOdeling of of BIgBIg Data

MOBIDIKMOBIDIK

nosqlnosql MOdelingMOdeling of of BIgBIg Data, Information and Data, Information and KnowledgeKnowledge

M. Chevalier, A. Kopliku, M. El Malki, O.Teste, R. TournierIRIT - Equipe SIG

(Systèmes d’Informations Généralisés)

1

Page 2: nosqlnosql MOdeling MOdeling of of BIgBIg Data

ContexteContexte

�� MégadonnéesMégadonnées ou «ou « BigBig DataData »»

◦ Des systèmes de gestion de données pour faire face � au volume

� à la variété

� à la vélocité

◦ Par exemple� Collections de données du Web (Google, Facebook, Twiter…)

� 2003 « The Google file system» [SOSP03]

� 2004 « MapReduce: Simplified Data Processing on Large Clusters» [OSDI04]� 2004 « MapReduce: Simplified Data Processing on Large Clusters» [OSDI04]

� Autres collections� Astronomie, Biologie, Météorologie, etc

�� Nouveaux systèmes de stockageNouveaux systèmes de stockage

◦ NoSQL « Not-Only-SQL»

◦ Principes� Distribution des données et des traitements (volume)

� Extensibilité et Flexibilité des données (variété, vélocité)

2

Page 3: nosqlnosql MOdeling MOdeling of of BIgBIg Data

ContexteContexte�� Plusieurs paradigmes Plusieurs paradigmes NoSQLNoSQL

◦ orientés clé/valeur� Données = { (clé, valeur) }

� Clé : identifiant� Valeur : pas de structure

� Stockage des couples

◦ orientés documents� Données = { documents }

� Identifiant de document� Structures variables & Imbrication

� Stockage horizontal des documents

◦ orientés colonnes

(k1, v1)(k2, v2)

(k4, v4) (k5, v5)(k6, v6)

BD1 BD2 BD3

d1

d2

d3 d4

d5

BD1 BD2 BD3

◦ orientés colonnes� Données = Table { tuples }

� Identifiant de tuple� Structures variables

� Stockage vertical des colonnes

◦ orientés graphes� Données = { nœuds } { arcs }

� Graphe étiqueté orienté� Structures variables des nœuds & des arcs

� Stockage distribué du graphe

3

c1 c2

v1.1 v1.2

… …v5.1 v5.2

c3

v1.3

…v5.3

c4

v1.4

…v5.4

BD1 BD2 BD3

n1

n2

n6

n4

n5

BD1 BD2 BD3

e1.2 e1.6

e6.4

e6.5

Page 4: nosqlnosql MOdeling MOdeling of of BIgBIg Data

ContexteContexte

�� Nombreux logiciels qui apparaissent et disparaissent…Nombreux logiciels qui apparaissent et disparaissent…

4

Page 5: nosqlnosql MOdeling MOdeling of of BIgBIg Data

ProblématiqueProblématique

�� Projets Projets versusversus Solutions Solutions NoSQLNoSQL

◦ Quel paradigme NoSQL ? Quel logiciel ?

� Différentes manières de distribuer

◦ Comment modéliser les données ?

� Systèmes NoSQL remettent en cause l’indépendance données/traitementsdonnées/traitements

� Placement des données dépendant des traitements

◦ Comment réutiliser les données ?

� Migrer d’un système à un autre

� Transformer d’un modèle à un autre

5

Page 6: nosqlnosql MOdeling MOdeling of of BIgBIg Data

ProblématiqueProblématique

�� Comment modéliser les données ?Comment modéliser les données ?

◦ NoSQL => Dépendance Données / Traitements

�� Illustration du problèmeIllustration du problème

◦ DonnéesPRODUIT

NP DES

P1 D1

P2 D2

FOURNIR

NS NP PU

S1 P1 10

S1 P3 20

SITE

NS URL

S1 w1

S2 w2

◦ Traitements

� Le dilemme de l’imbrication

� q1

� q2

6

« Restituer par site web les produits les plus chers»

« Restituer par désignation de produit le numéro du site web qui le propose au prix le plus bas»

P2 D2

P3 D3

S1 P3 20

S2 P1 15

S2 P2 20

S2 P3 30

S3 P3 15

S3 P2 15

S2 w2

S3 w3

S4 w4

SITE {[NS, URL, FOURNIR {[NP, DES, PU]} ]}

PRODUIT {[NP, DES, FOURNIR {[NS, URL, PU]} ]}

FOURNIR{[ NS, URL, NP, DES , PU ]}≺≺≺≺ ≺≺≺≺

SITE {[NS, URL, FOURNIR {[NP, DES, PU]} ]}

PRODUIT {[NP, DES, FOURNIR {[NS, URL, PU]} ]}

FOURNIR{[ NS, URL, NP, DES , PU ]}≺≺≺≺ ≺≺≺≺

Page 7: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� Différents niveaux d’abstraction Différents niveaux d’abstraction [ICEIS15][ICEIS15]

�� Processus de transformation de modèlesProcessus de transformation de modèles [ADBIS15, DAWAK15][ADBIS15, DAWAK15]

�� Modèles distinguant Schéma / Valeur Modèles distinguant Schéma / Valeur [EDA15] [VSST15][EDA15] [VSST15]

Conceptuel

Logique

Schéma indépendant (UML)

Travaux existants

Nos travaux

7

Schéma Relationnel Schéma génériqueNoSQL

Schéma« orienté colonnes »

Schéma « orienté documents »

Schémas spécifiques

Physique

Page 8: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� Etude de cas : entrepôts Etude de cas : entrepôts de données multidimensionnellesde données multidimensionnelles

◦ Schéma en étoile

� Fait : « sujet de l’analyse» (indicateurs numériques)

� Dimension : « axe de l’analyse» (paramètres)

�� Benchmark Benchmark

◦ SSB (ROLAP)

SSB+ (NoSQL) [RCIS15]

Part

ProdNameSizeBrand

8

LineOrder

QuantityDiscountRevenueTax Customer

NameCityRegionNation

BrandTypeCategory Date

DateDesc

Month()MonthName()Year()

Supplier

NameCityRegionNation

Page 9: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� Modèle générique assurant séparation structure/valeurModèle générique assurant séparation structure/valeur

◦ Notations

� [ ] structure

� { } ensemble

�� Plusieurs processus générique de transformationsPlusieurs processus générique de transformations

◦ MLD0 « Flat »

◦ MLD « Deco »◦ MLD1 « Deco »

◦ MLD2 « Shattered »

◦ MLD3 « Hybrid »

9

Page 10: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� Exemple MLDExemple MLD11 «« DecoDeco »»

Conceptuel Customer

NameCityRegionNation

LineOrder

QuantityDiscountRevenueTax

Logique Schema

MLD1

Schema

10

Logique Schema{[_IdLineOrder,

LineOrder{[Quantity,

Discount, Revenue, Tax]},

Customer{[Name,

City, Region, Nation]}

]}

_IdLineOrder

×

LineOrder

×

Quantity Discount Revenue Tax

Customer

×

Name City Region Nation

Schema

Page 11: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� Processus de transformationProcessus de transformation

◦ Automatique

◦ Processus réversible inter-modèle

◦Conceptuel Customer

NameCityRegionNation

LineOrder

QuantityDiscountRevenueTax

MLD …(MLD ) -1 MLD (MLD ) -1 MLD (MLD ) -1

11

Logique {[_IdLineOrder,LineOrder

{[Quantity,Discount, Revenue, Tax]},

Customer{[Name,

City, Region, Nation]}

]}

{[_IdLineOrder,_IdCustomer,Quantity,Discount, Revenue, Tax]}

{[_IdCustomer, Name, City, Region, Nation

]}

MLD0

{[_IdLineOrder,Quantity,Discount, Revenue, Tax, Name, City, Region, Nation

]}

MLD1((MLD0) -1)

MLD0((MLD1) -1)

(MLD0) -1 MLD1 (MLD1) -1 MLD2 (MLD2) -1

MLD2((MLD1) -1)

MLD1((MLD2) -1)

MLD0((MLD2) -1) MLD2((MLD0) -1)

Page 12: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� Processus de transformationProcessus de transformation

◦ Exemple

{_id : " 22021972",

MLD1((MLD0) -1)

{_id : "22021972",Customer : { Name : "Olivier",

City : "Toulouse", Region : "Midi-Pyrénées", Nation : "France"

}}

12

_id : " 22021972",Name : "Olivier", City : "Toulouse", Region : "Midi-Pyrénées", Nation : "France"

}

RowKey Customer

22021972 Name City Region Nation

Olivier Toulouse Midi-Pyrénées France

MLD1((MLD0) -1)HBase

MLD1((MLD1) -1)HBase

Page 13: nosqlnosql MOdeling MOdeling of of BIgBIg Data

PropositionProposition

�� ExpérimentationsExpérimentations

◦ Systèmes NoSQL

� Stockage horizontal

� Stockage vertical

◦ Benchmark SSB+

� Opérationnel

� Scripts de génération par MDLi paramétrable Facteur d’échelle� Scripts de génération par MDLi paramétrable Facteur d’échelle

� sf1 ⇒ 107 données LineOrder

� sf10 ⇒ 10x107 données LineOrder

� sf200 ⇒ 200x107 données LineOrder (~1.5 To avec )

� …

� Jeux de requêtes

� LMD (~INSERT, ~UPDATE)

� LID (~SELECT)

13

Page 14: nosqlnosql MOdeling MOdeling of of BIgBIg Data

ConclusionConclusion

�� Autres travaux Autres travaux

◦ Contourner la dépendance données/traitements

� Règles de choix des modèles en fonction des traitements

� Tenir compte de la distribution et des transferts de données

◦ Prendre en compte la variabilité des données

14

Page 15: nosqlnosql MOdeling MOdeling of of BIgBIg Data

RéférencesRéférences[ADBIS15]

M. Chevalier, M. El Malki, A. Kopliku, O. Teste, R. Tournier (2015). Implementation of multidimensional databases in column-oriented NoSQL systems. East-European Conference on Advances in Databases and Information Systems (ADBIS’15), Poitiers, France, p.79-91. doi: 10.1007/978-3-319-23135-8_6

[DAWAK15]

M. Chevalier, M. El Malki, A. Kopliku, O. Teste, R. Tournier (2015). Not Only SQL Implementation of multidimensionaldatabase. International Conference on Big Data Analytics and Knowledge Discovery (DAWAK’15), Valencia, Spain, p.379-390. doi: 10.1007/978-3-319-22729-0_29

[EDA15]

M. Chevalier, M. El Malki, A. Kopliku, O. Teste, R. Tournier (2015). Entrepôts de données multidimensionnelles NoSQL. 11ème Journées francophones sur les Entrepôts de Données et l’Analyse en ligne (EDA’15), vol. RNTI-B-11, Bruxelles, Belgique, p.161-176.

[ICEIS15]

M. Chevalier, M. El Malki, A. Kopliku, O. Teste, R. Tournier (2015). Implementing Multidimensional Data Warehouses intoNoSQL. International Conference on Enterprise Information Systems (ICEIS’15), Barcelona, Spain, p.172-183. doi: 10.5220/000537980172018310.5220/0005379801720183

[OSDI04]

J. Dean, S. Ghemawat (2004). MapReduce: Simplified Data Processing on Large Clusters. 6th Symposium on operating system design and implementation (OSDI'04), San Francisco, California, p.137-150.

[RCIS15]

M. Chevalier, M. El Malki, A. Kopliku, O. Teste, R. Tournier (2015). Benchmark for OLAP on NoSQL Technologies. International Conference on Research Challenges in Information Science (RCIS'15), IEEE, Athens, Greece, p. 480-485. doi: 10.1109/RCIS.2015.7128909

[SOSP03]

S. Ghemawat, H. Gobioff, S-T. Leung (2003). The Google file system. ACM Symposium on operating systems principles(SOSP '03), New York, NY, USA, p.29-43. doi:10.1145/945445.945450

[VSST15]

M. Chevalier, M. El Malki, A. Kopliku, O. Teste, R. Tournier (2015). Implantation « Not-Only-SQL » des bases de données multidimensionnelles. Colloque Veille Stratégique Scientifique et Technologique (VSST’15), Grenade, Espagne.

15