BASES DE DONNÉES AVANCÉES - DATAWAREHOUSE ET NOSQL INTRODUCTION THIERRY HAMON - LIMSI

La page est créée Laurie Laine
 
CONTINUER À LIRE
BASES DE DONNÉES AVANCÉES - DATAWAREHOUSE ET NOSQL INTRODUCTION THIERRY HAMON - LIMSI
Bases de Données Avancées
                  DataWareHouse et NoSQL
                       Introduction

                           Thierry Hamon

                                   Bureau H202
                        Institut Galil�e - Universit� Paris 13
                                           &
                                    LIMSI-CNRS
                                  hamon@limsi.fr
       https://perso.limsi.fr/hamon/Teaching/P13/BDA-INFO2-2018-2019/

                                INFO2 – BDA

1/69
Sources des transparents

       F. Boufares, LIPN, Université Paris Nord
       P. Marcel, LI, Université de Tours
       Bernard Espinasse, Ecole Polytechnique Universitaire de
       Marseille
       Melanie Herschel, Université Paris Sud

2/69
Introduction

       Quelle quantité d’information ? sous quelle forme ?
                                  Il y a plus de 15 ans !

           en 2000 :
                entre 1 et 2 ExaOctets par année (1 Eo = 220 To)
                90% électronique
                taux de croissance annuel de 50 %
           en 2003 : 5 Eo en 2002, 92% électronique
       Lyman&Varian, 2003 (http://groups.ischool.berkeley.edu/archive/
       how-much-info-2003/execsum.htm)

       Comment accèder à ces données, tirer partie de ces données ?
       → Les bases de données ne suffisent plus

3/69
BD → ED

       Des bases de données aux Entrepôts de données

4/69
BD → ED

                                 Introduction
                   Avant les entrepôts de données/Data Warehouses

       La majeure partie des applications Bases de Données reposent
       aujourd’hui sur trois couches :
           La couche la plus externe est celle de qui permet de présenter
           les données aux utilisateurs.
           Elle est appelée Graphical User Interfaces GUI.
           La couche application intermédiaire inclut le programme de
           l’application
           Elle ne stocke pas les données.
           La couche la plus interne gère le stockage des données.
           Elle est appelée la couche Base de Données.

5/69
BD → ED

                                              Introduction

         Couche Présentation       Graphical User Interfaces         GUI                         GUI

         Couche Application           OLTP Application         OLTP Application       Decision support System

                                                                                   Read, Select
                                Insert, Update, Delete

       Couche Base de Données               BD1                       BD2

                                                                                  Ressources externes
                                                                                  (file system, ftp, www, ...)

6/69
BD → ED

                                 Introduction
       Les applications interrogent les données avec, par exemple,
           le langage SQL (Select)
           et les mettent à jour par l’intermédiaire des opérations
           Insert, Update et Delete
       qui constituent des transactions.

       Celles-ci doivent avoir certaines propriétés ACID (Atomicité,
       Cohérence, Isolation et Durabilité)

       Ce type d’application est appelé On-Line Transaction Processing
       OLTP.

7/69
BD → ED

                                Introduction
                     Données volumineuses & Besoins nouveaux
                          Vers les entrepôts de données

       → Systèmes d’Information Décisionnel

       Systèmes d’Aide à la Décision (DSS) :
           Rapports, Etats, Tableaux de Bord, Graphiques, Synthèses,
           Groupement, Agrégat, Résumé ...
           (Reporting Tools, Management Information System, Executive
           Information System, Decision Support System DSS)

8/69
BD → ED

                                  Introduction
                             Vers les entrepôts de données
                                       Remarques

           Contrairement aux applications OLTP, qui consultent et
           mettent à jour les données des BD opérationnelles,
           les DSS lisent les données seulement pour avoir de
           nouvelles informations à partir des données sources
       Bénéfice de cette approche : seules les BD opérationnelles ont à
       être créées et maintenues

           Un ensemble de méta-données est utilisés pour les 2 systèmes.
           Les DSS ne nécessitent que des travaux supplémentaires
           mineurs.

9/69
BD → ED

                                    Introduction
                               Vers les entrepôts de données
                                         Remarques

        Cependant, il y a plusieurs désavantages :
        (quand le DSS et les application OLTP se partagent les mêmes BD)
            Un DSS ne peut utiliser que les données actuellement stockées
            dans les BD
            les analyses historiques sont donc souvent impossibles à cause des
            opérations de mises à jour qui changent les données historiques
            L’utilisation des BD en mode multi-utilisateurs
            ce qui implique des opérations de verrouillage des données (Locking
            operations) et donc des problèmes de performance
            car les requêtes analytiques demandent l’accès à de très grands
            nombre de tuples.

10/69
BD → ED

                                     Introduction

        La solution est de séparer
            la BD orientée Transaction
            de la BD orientée Aide à la Décision
            d’où la naissance du concept
            Entrepôt de Données = Data Warehouse.
        Les DWH sont physiquement séparés des SGBD opérationnels (BD
        opérationnelles)

11/69
BD → ED

                                  Introduction
                         Définition rapide d’un Data Warehouse

        Le Data Warehouse est une collection de données orientées sujet,
        intégrées, non volatiles, historisées, organisées pour le support d’un
        processus d’aide à la décision
            Un système de DWH peut être formellement défini comme un
            triplet
BD → ED

                                     Architecture des DWHs
                                               Méta−données

                              Extraire
        Sources externes
                              Nettoyer

                              Transformer
                                                                      Utiliser
                              Charger (Load)
                              Intégrer

                              Rafraichir
                                                Entrepot de données              OLAP
                              Maintenir

        BD opérationnelles

13/69
BD → ED

                            Introduction

        Le DWH intègre des données à partir de sources multiples et
        hétérogènes
        afin de répondre aux requêtes du système d’aide à la décision.
        Ce type d’application est appelé On-Line Analytical
        Processing OLAP
        OLAP permet la transformation des données en informations
        stratégiques

14/69
BD → ED

          Nouveaux concepts/nouvelle perspective

        Entrepôt de données
        récolte, stockage et gestion efficace des gros volumes de
        données
        OLAP
        requêtes interactives complexes sur ces volumes
        Data mining (fouille de données)
        extraction automatique de propriétés cachées
        données → information → connaissances

15/69
BD → ED

                              Analyse OLAP
                          (On-Line Analytical processing)

        Techniques OLAP :
            apparition en recherche dans les années 70
            mais développement dans les années 90 dans l’industrie
        Réalisation de synthèses, d’analyses et de la consolidation
        dynamique de données multidimensionnelles
        Manière la plus naturelle d’exploiter un ED étant donné son
        organisation multidimensionnelle

16/69
BD vs. DWH

                       Introduction : Comparaison
        Pourquoi pas des SGBDs pour les entrepôts de données ?
            les 2 systèmes sont performants
                SGBD : calibré pour l’OLTP ; méthodes d’accès index,
                contrôle de concurrence, reprise
                Entrepôt : calibré pour l’OLAP ; requêtes OLAP complexes,
                vue dimensionnelle, consolidation
            Fonctions et données différentes
                Données manquantes : l’aide à la décision (AD) a besoin des
                données historiques qui ne se trouvent pas dans les BD
                opérationnelles
                Consolidation : l’AD a besoin de données consolidées
                (agrégats) alors qu’elles sont brutes dans les BD
                opérationnelles

17/69
BD vs. DWH

                       Introduction : Comparaison
        SGBD hétérogènes vs. Entrepôts de données
            Traditionnellement, l’intégration de BD hétérogènes se fait par
            le biais de
                Wrappers/médiateurs au dessus des BD hétérogènes
                Approches orientées requêtes
                     Quand une requête est posée sur un site client, un
                     métadictionnaire est utilisé pour la traduire en plusieurs
                     requêtes appropriées à chacune des BD. Le résultat est
                     l’intégration de réponses partielles
                     L’exécution des requêtes demande donc beaucoup de
                     ressources
                Entrepôts de données : approche orientée mise à jour
                     les informations sont intégrées et stockées pour une
                     interrogation directe
                     Plus efficace en coût d’exécution des requêtes

18/69
BD vs. DWH

                        Introduction : Comparaison

        BD opérationnelle vs. Entrepôts de données
            OLTP (On-Line Transaction Processing)
                 Exécution en temps réel des transactions, pour
                 l’enregistrement des opérations quotidiennes : inventaires,
                 commandes, paye, comptabilité
                 Par opposition au traitement en batch
            OLAP (On-Line Analytical Processing)
                 Traitement efficace des requêtes d’analyse pour la prise de
                 décision qui sont par défaut assez complexes (bien qu’a priori,
                 elles peuvent être réalisées par les SGBD classiques)

19/69
BD vs. DWH

                       Introduction : Comparaison

        BD opérationnelle vs. Data Warehouse : OLTP vs. OLAP
            Données : courantes, détaillées vs. historiques, consolidées
            Conception : modèle ER + application vs. modèle en étoile +
            sujet
            Vues : courantes, locales vs. évolutive, intégrée
            Mode d’accès : mise à jour vs. lecture seule mais requêtes
            complexes

20/69
BD vs. DWH

                                                Architecture du DWH
                                                     Architecture Multi-tiers
                                                                                                             Data select
                                                            Dictionnaire de                                  (requetes)
                                                                                     OLAP SERVER
                                                            Méta−données

                                                                                                               100
                                                                                                               0
                                                                                     Oracle Express            011
                                                                                                               100
                                                                                                                11
             MVS (TSO, DB2 ...)

                                                                                                        Business Objects
                                                                                                        (rapports, analyses)
                                  E(xtract)
                                  T(ransform)
                                  L(oad)                   DataWareHouse
                                                                                                              111
                                                                                                              0
                                                                                                              0
                                                                                                              100
                                                                                                               00
                                                                                                               11
             UNIX (Oracle, ...)                                                      Oracle 9i (Olap)

                                                                                                         SAS
                                                                                                         (Datamining)

                                                                                                            111
                                                                                                            0
                                                                                                            000
                                                                                                            100
                                                                                                             11
        Windows (SQL Server,                                  Data Marts
        Excel, ...)

            Applications en                     Controle et chargement des données         OLAP           Outils Front−End
            production

21/69
BD vs. DWH

                                     Conception logique des DWHs
                  Données multidimentionnelles
                             Montant des ventes comme une fonction des paramètres
                             produits, mois, région

                                                      Dimensions : Produit, Lieu, Temps
                                                      Chemins de consolidation hiérarchiques
                        on
                   Régi
                                                                        Région             Année
                                                      Industrie

                                                                         Pays             Trimestre
                                                      Catégorie
        Produit

                                                                         Ville           Mois
                                                                                                      Semaine
                                                      Produit
                                                                        Magasin           Jour

                             Mois

22/69
Applications

                              Domaines d’application

        Ceux de l’informatique décisionnelle (Business Intelligence)
        pour
            aider atteindre les objectifs stratégiques d’une entreprise et
            faciliter son pilotage
            avoir une connaissance plus approfondie de l’entreprise
            anticiper les besoins clients
            prendre en compte les nouveaux canaux de distribution (vente
            en ligne, etc.)

23/69
Applications

                             Domaines d’application
                                   Informatique décisionnelle
        Entrepôt de données
            Outils de veille stratégique et de recueil d’information
            (intelligence économique)
            Aide aux décideurs pour prendre les bonnes décisions sur la
            base des données disponibles
            Exemples :
                Quels sont les 5 produits les plus vendus pour chaque
                sous-catégorie de produits qui représente plus de 20% des
                ventes dans sa catégorie de produits ?
                Quelle est la priorité d’expédition et quel est le revenu brut
                potentiel des commandes de livres qui ont les 10 plus grandes
                recettes brutes parmi les commandes qui n’avaient pas encore
                été expédiées ?

24/69
Applications

                                   Applications

        Commerce, finance, transport, télécommunications, santé, services,
        ...
            gestion de la relation client
            gestion des commandes, des stocks
            prévisions de ventes
            définition de profil utilisateur
            analyse de transactions bancaires
            détection de fraudes
            ...

25/69
Applications

              Principales applications autour d’un ED

        Réalisation de rapports divers (Reporting)
        Réalisation de tableaux de bords (Dashboards)
        Fouille de données (Data Mining)
        Visualisations autour d’un ED (visualizations)
        ...

26/69
Applications

                               Exemple d’application
                                   Domaine bancaire
        Un des premiers utilisateurs des ED
            Regroupement des informations relatives à un client pour une
            demande de crédit
            Lors de la commercialisation d’un nouveau produit :
            Mailing ciblés rapidement élaborés à partir de toutes les
            informations disponibles sur un client
            Recherche de fraudes sur les cartes de crédit :
            Mémorisation des mouvements et contrôles a posteriori, pour
            détecter les comportements suspects
            Échanges d’actions et de conseils de courtages
            Déterminer des tendances de marchés grâce à :
                 la mémorisation de l’historique
                 une exploitation par des outils décisionnels avancés

27/69
Définition d’un DWH

    Construction et d’exploitation d’un entrepôt de données
        Processus en 3 phases :
        1   Construction de la BD décisionnelle
              Modélisation conceptuelle des données multiformes et multi-sources
              Conception de l’entrepôt de données
              Alimentation de l’entrepôt (extraire, nettoyer, transformer, charger)
              Stockage physique des données
        2   Sélection des données à analyser
              Besoins d’analyse de l’utilisateur
              Data marts (Magasins de données)
              Cubes multidimensionnels
              Tableaux ou tables bidimensionnels
        3   Analyse des données
              Stastiques et reporting, OLAP, Data Mining

28/69
Définition d’un DWH

                                 Présentation des couches
          Couche Présentation       Graphical User Interfaces                 GUI                     GUI

          Couche Application           OLTP Application               OLTP Application      Decision support System

                                   Insert, Update, Delete                                       Read, Select

        Couche Base de Données                                                BD2

                                               BD1
                                                                                                  Target DataBase

                                                                                         Load
                                                                                                      DataWareHouse

                                                     Ressources externes
                                                     (file system, ftp, www, ...)

29/69
Définition d’un DWH

                                                Architecture du DWH
                                                     Architecture Multi-tiers
                                                                                                             Data select
                                                            Dictionnaire de                                  (requetes)
                                                                                     OLAP SERVER
                                                            Méta−données

                                                                                                               100
                                                                                                               0
                                                                                     Oracle Express            011
                                                                                                               100
                                                                                                                11
             MVS (TSO, DB2 ...)

                                                                                                        Business Objects
                                                                                                        (rapports, analyses)
                                  E(xtract)
                                  T(ransform)
                                  L(oad)                   DataWareHouse
                                                                                                              111
                                                                                                              0
                                                                                                              0
                                                                                                              100
                                                                                                               00
                                                                                                               11
             UNIX (Oracle, ...)                                                      Oracle 9i (Olap)

                                                                                                         SAS
                                                                                                         (Datamining)

                                                                                                            111
                                                                                                            0
                                                                                                            000
                                                                                                            100
                                                                                                             11
        Windows (SQL Server,                                  Data Marts
        Excel, ...)

            Applications en                     Controle et chargement des données         OLAP           Outils Front−End
            production

30/69
Définition d’un DWH

                                      Opérations
        Extraction (Extraction) : Ces opérations permettent de filtrer les
        données à partir de données sources (BD, fichiers, sites web...) dans
        des BD temporaires.
        Transformation (Transformation) : Ces opérations permettent de
        transformer les données extraites dans un format uniforme.
        Les conflits entre les modèles, les schémas et les données sont
        résolus durant cette phase.
        Chargement (Load) : Ces opérations permettent de charger les
        données transformées dans la BD cible.
        La BD cible est souvent implantée avec un SGBD relationnel-objet.
        Agrégat et Groupement (Agregating and Grouping) : La BD cible
        doit permettre de stocker les données opérationnelles et les données
        issues de calculs.

31/69
Architecture

                                     Architecture

        Objectifs :
             regrouper les données sources
             concevoir le schéma de l’entrepôt
             remplir l’entrepôt
             maintenir l’entrepôt

32/69
Architecture fonctionnelle

                Architecture fonctionnelle de l’entrepôt
        Les données d’un entrepôt se structurent suivant
            un axe synthétique : établissement d’une hiérarchie
            d’agrégation incluant
                 les données détaillées : les événements les plus récents
                 les données agrégées : synthèse des données détaillées
                 les données fortement agrégées : synthèse à un niveau
                 supérieur des données agrégées
            un axe historique
                 incluant les données détaillées historisées représentant les
                 événements passés
            → Stockage des méta-données : informations concernant les
            données de l’ED (provenances, structures, méthodes utilisées pour
            l’agrégation, ...)

33/69
Architecture fonctionnelle

              Entrepôts et magasins de données
                           Data Warehouses et Data marts

        Entrepôts de données
            Collecte l’ensemble de l’information utile aux décideurs à partir
            des sources de données (BD opérationnelle, BD externes, ...)
            Centralisation de l’information décisionnelle
            Garantie de l’intégration des données extraites et de leur
            pérennité dans le temps
        Magasins de données
            Orientés sujet
            Aide efficace aux processus OLAP
            Extraction d’une partie des données utiles :
                 pour une classe d’utilisateurs ou
                 pour un besoin d’analyse spécifique

34/69
Architecture fonctionnelle

                       Dictionnaire et méta-données

        Dictionnaire contenant des informations (méta-données) sur :
            toutes les données de l’ED
            chaque étape de la construction de l’ED
            le passage d’un niveau de données à un autre (exploitation de
            l’ED)
            Rôle : définition, fabrication, stockage, accès et présentation
            des données

35/69
Données sources

                                       Données sources
        Les données des entreprises sont généralement :
             Surabondantes
             Eparpillées
             Peu structurées pour l’analyse
             Modifiées quotidiennement
        Problème : Prise de décision difficile
        Solution : Utilisation d’outils et de techniques visant à préparer les
        données pour l’analyse Data warehousing
             Il s’agit d’une technique visant à extraire des données de
             différentes sources afin de les intégrer selon des formats
             plus adaptés à l’analyse et la prise de décision
        → Problématique d’intégration et définition de wrappers

36/69
Données sources

                        Données sources hétérogènes
        Nécessité d’intéger des données hétérogènes, modifiées
        quotidiennement
            BD
                  relationnelles
                  objets
                  distribuées
            fichiers textes
            documents HTML, XML
            bases de connaissances
            ...
        Mais aussi des représentations de données et de noms de
        champs/colonnes hétérogènes

37/69
Alimentation de l’ED

               Processus d’alimentation d’un ED
                                Entreposage des données

        Rôle de l’alimentation de l’entrepôt
            rassembler de multiples données sources souvent
            hétérogènes
            homogénéiser les données sources
        Homogénéisation réalisée selon des règles précises
        Les règles d’homogénéisation sont :
             mémorisées sous forme de méta-données stockées dans le
             dictionnaire de données
             utiliser pour assurer des tâches d’administration et de
             gestion des données entreposées

38/69
Alimentation de l’ED

                     Processus d’alimentation d’un ED

        4 étapes :
          1   Sélection des données sources
          2   Extraction des données
          3   Nettoyage et Transformation
          4   Chargement

        Etapes 1 et 2 : Jusqu’à 80 % du temps de développement d’un
        entrepôt

        → outil : Oracle Warehouse Builder (OWB)

39/69
Alimentation de l’ED

                             Extraction des données

        Un extracteur (wrapper) est associé à chaque source de données
            Sélection et extraction des données
            Formatage des données dans un format cible commun
               en général, le modèle Relationnel
            Utilisation d’interfaces comme ODB, OCI, JDBC

40/69
Alimentation de l’ED

                                     Transformation

        Objectif : suppression des incohérences sémantiques entre les
        sources, problématique lors de l’intégration
            des schémas
            des données

41/69
Alimentation de l’ED

                                     Transformation

        Résolution des problèmes survenant lors de l’intégration des
        schémas
            Demande une solide connaissance de la sémantique des
            schémas
            Peu traitée par les produits du marché
            Nombreux travaux de recherche
        Opération généralement réalisée à la main...

42/69
Alimentation de l’ED

                             Chargement des données
        Objectif : Stockage des données nettoyées et préparées dans la BD
        opérationnelle (ODS)

        Opération :
             risquant d’être assez longue
             plutôt mécanique
             la moins complexe
        Mais il est nécessaire de définir et mettre en place :
             des stratégies pour assurer de bonnes conditions à sa
             réalisation
             une politique de rafraîchissement

43/69
Alimentation de l’ED

                       Chargement des données

        Définitions de vues relationnelles sur les données sources
        Matérialisation des vues dans l’entrepôt
        Mais aussi, préparation à la restitution
            tris
            consolidations (pré-agrégation)
            indexation
            partitionnement des données
            enregistrement de méta-données
            ...

44/69
Alimentation de l’ED

                     Préparation à la restitution

        Agrégation
            Calcul de vues agrégées
            Définition des indexes
            Stockage dans le CDW
        Personnalisation
            Construction de magasin de données (Data Marts)
            Construction de cubes de données
            Construction des présentations demandées par les utilisateurs

45/69
Modélisation

                    Modélisation multidimensionnelle
        Lien direct entre les analyses décisionnelles (OLAP) et une
        modélisation de l’information conceptuelle :
            proche de la perception qu’en a l’analyste
            basée sur une vision multidimensionnelle des données
        Modèle multidimensitionnel : les données sont vues comme des
        data cubes
            Un cube de dimension n est dit un cuboïde
            Le treillis des cuboïdes d’un entrepôt de données forme un
            data cube
        La modélisation multidimensionnelle a donné naissance aux
        concepts de fait et de dimension (Kimball 1996)

46/69
Modélisation

                       Cube de données

47/69
Modélisation

             Exemple de treillis de cube

48/69
Modélisation

                               Cube de données

        Sujet analysé : un point dans un espace à plusieurs dimensions
        Organisation des données pour mettre en évidence le sujet
        analysé et les différentes perspectives de l’analyse
        data cube (par exemple, les ventes) : vision des données sur
        plusieurs dimensions

49/69
Modélisation

                                      Concept de fait
        Un fait :
             modélisation du sujet de l’analyse
             Mesures correspondant aux informations de l’activité analysée
             Mesures numériques, généralement valorisées de façon
             continue. On peut
                    les additionner
                    les dénombrer
                    calculer le minimum, le maximum ou la moyenne
        Exemple : le fait de Vente peut être constitué des mesures
        d’activités suivantes :
             quantité de produits vendus
             montant total des ventes

50/69
Modélisation

                               Concept de dimension
        Axes ou perspectives caractérisant es mesures de l’activité d’un fait
        Une dimension :
            modélisation un axe d’analyse
            nécessité pour chaque dimension, de définir ses différents
            niveaux de détail
            → Définition de une (ou plusieurs) hiérarchie(s) de paramètres
            se compose de paramètres correspondant aux informations
            faisant varier les mesures de l’activité
        Dans l’exemple précédent :
            Analyse du fait Vente suivant différentes perspectives correspondant
            à trois dimensions :
                 la dimension Temps
                 la dimension Geographie
                 la dimension Categorie

51/69
Bilan

                        Conclusion et perspectives

        Deux tendances actuelles
            datamarts
            dataweb
        construction du Data Warehouse : processus long et difficile
        Construction progressive par datamarts
            Avantage : rapide
            Inconvénient : risque de cohabitation de datamarts incohérents
        Dataweb
            Ouverture du data warehouse au web

52/69
Bilan

                                  Plus loin...
        Big data warehouses
             Volume
                Optimisation/parallélisation des agrégations
                OLAP dans un cloud
            Variété
                Nouveaux modèles multidimensionnels et opérateurs
                d’agrégation
                Entrepôts NoSQL
            Vélocité
                Travailler en mémoire : problème de l’explosion dimensionnelle
                Fonctions d’oubli
            Véracité
                Qualité des données sources
                Sécurité des données entreposées

53/69
NoSQL

                NoSQL

54/69
NoSQL

                        Sources des transparents

        Bernd Amann, LIP6
        Bernard Espinasse, Ecole Polytechnique Universitaire de
        Marseille
        Olivier Guibert, Université de Bordeaux
        Anne-Cécile Caron, Université de Lille

55/69
NoSQL

                                  Introduction
        Constats :
            De plus en plus de donnnées disponibles ou à manipuler
                 très grandes plateformes
                 applications Web (Google, Facebook, Twitter, Amazon, ...)
            Nécessite de la gestion des données de manière distribuée
            Le respect des propriétés ACID (Atomicité, Cohérence,
            Isolation et Durabilité) n’est pas possible dans un
            environnement distribué
            Aussi, manipulation
                 de données complexes, hétérogènes, non structurées
                 de très grands volumes de données (Big Data)

56/69
NoSQL

             Evolutions de la gestion des données
        Nouvelles Données :
            Web 2.0 : Facebook, Twitter, news, blogs, ...
            LOD : graphes, ontologies, ...
            Flux : capteurs, GPS, ...
        → Très gros volumes, données pas ou faiblement structurées
        Nouveaux Traitements :
            Moteurs de recherche
            Extraction, analyse, ...
            Recommandation, filtrage collaboratif, ...
        → Transformation, agrégation, indexation
        Nouvelles Infrastructures :
            Cluster, réseaux mobiles, microprocesseurs multi-coeurs, ...
        → Distribution, parallélisation, redondance

57/69
NoSQL

                      Augmentation du volume de données

        w3resource.com/mongodb/nosql.php

58/69
NoSQL

              Limites de SGBD relationnels/traditionnels
        Faible efficacité lorsque les volumes de données sont importants car
            Transaction respectant les propriétés ACID
            Requêtes LMJ réalisées séquentiellement et préservant
            l’intégrité des données
            → Gestion des transaction complexe ayant un impact sur les
            performances
            Modèle ER flexible mais peu adapté aux données
            non-structurées
            → peu performant et couteux en temps de développement
            Matériel et logicieux coûteux et compétences en optimisation
            peu répandues
            → Nécessité de distribuer les traitements

59/69
NoSQL

                                      NoSQL
        Définition de systèmes « NoSQL » (not only SQL)
            Pour répondre à l’augmentation du volume de donnnées à
            traiter :
                Spécialisation des systèmes
                Systèmes sur mesure
                Pas d’utilisation de SQL comme langage de requête
            Généralement des modèles de données différents :
                Modèle   Document
                Modèle   Colonne
                Modèle   clé/valeur
                Modèle   Graphe
        → Théorème CAP (Cohérence, Disponibilité, Pannes)
        (Brewer, 2000)

60/69
NoSQL

                                           Théorème CAP

        w3resource.com/mongodb/nosql.php

61/69
NoSQL

                Systèmes NoSQL

62/69
NoSQL

                               SGBD NoSQL
                                    Définition

        SGBD non fondé sur
            l’architecture des SGBDR
            open source
            distribué
            horizontally scalable (montée en charge par ajout de serveurs)

63/69
NoSQL

                                 SGBD NoSQL
        Simplification en renonçant aux fonctionnalités classiques des
        SGBDR :
            Redondance (via réplication)
            Pas forcément de schéma normalisé, initialement voire à terme
            Pas de tables mais des collections
            Rarement du SQL mais API simple ou langage spécialisé
            Pas forcément de jointure mais multiplication des requêtes,
            cache/réplication/données non normalisées, données imbriquées
            Transactions pas forcément ACID mais plutôt BASE
            Résisitance aux pannes (P) s’impose pour un système distribué :
                 AP (accepte de recevoir des données éventuellement
                 incohérentes)
                 CP (attendre que les données soient cohérentes)

64/69
NoSQL

                             SGBD NoSQL
        Gestion des mégadonnées (big data) du web, des objets connectés,
        etc.
        Structure des données hétérogène et évolutive
        Données complexes et pas toujours renseignées
        Environnement distribué : données répliquées et accédées d’un peu
        partout (dans le monde), traitement répartis
        Techniques de partionnement des BD : sharding, hachage cohérent
        (consistent hashing)
        Contrôle de concurrence multi-version (Multi-Version Concurrency
        Control MVCC)
        Adaptation du protocole Paxos
        Performances linéaires avec la montée en charge (les requêtes
        obtiennent toujours aussi rapidement une réponse)

65/69
NoSQL

                       Classification de systèmes

           Types de données : tables, clés/valeurs, arbres, graphes,
           documents
           Paradigme (langages) : MapReduce (PIG, Hive)
           API / Protocole : JSON/REST
           Persistence : mémoire, disque, cloud...
           Gestion de concurrence / cohérence
           Réplication, protocoles
           Langage d’implémentation, ...
        Voir https://db-engines.com/en/ranking

66/69
Fondements des systèmes NoSQL

               Fondements des systèmes NoSQL

        Sharding : partitionnement sur plusieurs serveurs
        Consistent hashing : partitionnement des données sur
        plusieurs serveurs eux-mêmes partitionnés sur un segment
        Map Reduce : modèle de programmation parallèle permettant
        de paralléliser tout un ensemble tâches à effectuer sur un
        ensemble de données,
        MVCC (Contrôle de Concurrence Multi-Version) : mécanisme
        permettant d’assurer le contrôle de concurrence
        Vector-Clock (horloges vectorielles) : mises à jour
        concurrentes en datant les données par des vecteurs d’horloge

67/69
Fondements des systèmes NoSQL

                                   Conclusion

        On a besoin de SQL et de NoSQL
            NoSQL = not only SQL
            Principe CAP
        Importance de noSQL
            Analyse de données
            Passage à l’échelle
            Parallélisation / partionnement verticale

68/69
Fondements des systèmes NoSQL

                                        Conclusion

            Les SGBDR en font trop, alors que les produits NoSQL
            font exactement ce dont vous avez besoin (Travis, 2009)

            Gestion des BD géantes des sites web de très grande audience
            Exemple des SGBD d’annuaires : grande majorité des accès aux BD
            consistent en lectures sans modification (ainsi, seule la persistance
            doit être vérifiée)
        « Consensus » actuel :
            Les SGBD NoSQL ne replacent pas les SGBDR mais les complètent
            en palliant leurs faiblesses

69/69
Vous pouvez aussi lire