2015-11 Journée BigData

sujet de l'analyse » (indicateurs numériques) ñ Dimension .... system design and implementation (OSDI'04), San Francisco, California, p.137-150. [RCIS15].
786KB taille 2 téléchargements 29 vues
MOBIDIK nosql MOdeling of BIg Data, Information and Knowledge

M. Chevalier, A. Kopliku, M. El Malki, O.Teste, R. Tournier IRIT - Equipe SIG (Systèmes d’Informations Généralisés)

1

Contexte Mégadonnées ou « Big Data » ◦ 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]

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

Nouveaux 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

Contexte Plusieurs paradigmes NoSQL ◦ orientés clé/valeur Données = { (clé, valeur) }

BD1

Clé : identifiant Valeur : pas de structure

(k1, v1) (k2, v2)

Stockage des couples

◦ orientés documents

BD2 (k4, v4)

BD1

Données = { documents } Identifiant de document Structures variables & Imbrication

◦ orientés colonnes Identifiant de tuple Structures variables

c1 v1.1 … v5.1

Stockage vertical des colonnes

BD3

d3

BD1

Données = Table { tuples }

(k5, v5) (k6, v6)

BD2

d1 d2

Stockage horizontal des documents

BD3

d4 d5

BD2

c2 v1.2 … v5.2

BD3

c3 v1.3 … v5.3

c4 v1.4 … v5.4

◦ orientés graphes Données = { nœuds } { arcs } Graphe étiqueté orienté Structures variables des nœuds & des arcs

BD1

Stockage distribué du graphe

BD2

n1 e1.2

e6.4 e1.6

n2

BD3

n6

e6.5

n4 n5

3

Contexte Nombreux logiciels qui apparaissent et disparaissent…

4

Problématique Projets versus Solutions NoSQL ◦ 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/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

Problématique Comment modéliser les données ? ◦ NoSQL => Dépendance Données / Traitements Illustration du problème ◦ Données PRODUIT NP P1 P2 P3

DES D1 D2 D3

SITE NS S1 S2 S3 S4

URL w1 w2 w3 w4

◦ Traitements

SITE {[NS,

FOURNIR NS S1 S1 S2 S2 S2 S3 S3

NP P1 P3 P1 P2 P3 P3 P2

PU 10 20 15 20 30 15 15

Le dilemme de l’imbrication q1 « Restituer par site web les produits les plus chers » FOURNIR PRODUIT URL, FOURNIR {[NP, DES, PU]}]} ≺ {[NS, URL, NP, DES , PU]} ≺ {[NP, DES, FOURNIR q2 « Restituer par désignation de produit le numéro du site web qui le propose au prix le plus bas »

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



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



{[NS, URL, PU]}]}

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

6

Proposition Différents niveaux d’abstraction [ICEIS15] Processus de transformation de modèles [ADBIS15, DAWAK15] Modèles distinguant Schéma / Valeur [EDA15] [VSST15] Conceptuel

Travaux existants Schéma indépendant (UML)

Nos travaux

Logique Schéma Relationnel

Schéma générique NoSQL

Schémas spécifiques Schéma « orienté colonnes »

Schéma « orienté documents »

Physique 7

Proposition Etude de cas : entrepôts de données multidimensionnelles ◦ Schéma en étoile Fait : « sujet de l’analyse » (indicateurs numériques) Dimension : « axe de l’analyse » (paramètres)

Benchmark ◦ SSB (ROLAP) SSB+ (NoSQL) [RCIS15]

Part ProdName Size Brand Type Category

Date DateDesc Month() MonthName() Year()

LineOrder Quantity Discount Revenue Tax

Customer

Supplier Name City Region Nation

Name City Region Nation

8

Proposition Modèle générique assurant séparation structure/valeur ◦ Notations [ ] structure { } ensemble

Plusieurs processus générique de transformations ◦ MLD0 « Flat » ◦ MLD1 « Deco » ◦ MLD2 « Shattered » ◦ MLD3 « Hybrid »

9

Proposition Exemple MLD1 « Deco » Conceptuel

LineOrder

Customer

Quantity Discount Revenue Tax

Name City Region Nation

MLD1

Logique

Schema {[_IdLineOrder, LineOrder {[Quantity, Discount, Revenue, Tax]}, Customer {[Name, City, Region, Nation]} ]}

Schema

×

_IdLineOrder LineOrder

× Quantity Discount Revenue Tax Name

Customer

× City Region Nation

10

Proposition Processus de transformation ◦ Automatique ◦ Processus réversible inter-modèle ◦ Conceptuel LineOrder

Customer

Quantity Discount Revenue Tax

MLD0

Logique

(MLD0) -1

Name City Region Nation

MLD1

(MLD1) -1

MLD2

(MLD2) -1



{[_IdLineOrder, {[_IdLineOrder, {[_IdLineOrder, LineOrder Quantity, _IdCustomer, {[Quantity, Discount, Quantity, Discount, Revenue, Discount, Revenue, Tax, Revenue, MLD1((MLD0) -1) MLD2((MLD1) -1) Tax]} Tax]}, Name, Customer City, {[Name, Region, {[_IdCustomer, City, Nation Name, -1 MLD0((MLD1) -1) Region, MLD1((MLD2) ) City, ]} Nation]} Region, ]} Nation ]}

MLD0((MLD2) -1)

MLD2((MLD0) -1)

11

Proposition Processus de transformation ◦ Exemple

{

MLD1((MLD0

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

) -1)

}

{ _id Name City Region Nation

: : : : :

"22021972", "Olivier", "Toulouse", "Midi-Pyrénées", "France"

MLD1((MLD1) -1)HBase

}

MLD1((MLD0

) -1)

HBase

RowKey 22021972

Customer Name City Region Olivier Toulouse Midi-Pyrénées

Nation France

12

Proposition Expérimentations ◦ Systèmes NoSQL Stockage horizontal Stockage vertical

◦ Benchmark SSB+ Opérationnel 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

Conclusion 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

Ré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 multidimensional database. International Conference on Big Data Analytics and Knowledge Discovery (DAWAK’15), Valencia, Spain, p.379390. 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 into NoSQL. International Conference on Enterprise Information Systems (ICEIS’15), Barcelona, Spain, p.172-183. doi: 10.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