SQL& BIG DATA Module: Gouvernance des Systèmes d’information Module: Gouvernance des Systèmes d’information
1 Plan de la présentation Introduction Modèle relationnel Big Data NoSQL Perspectives MySQL VS MongoDB Conclusion
Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB 2 Introduction Depuis les années 1980, les systèmes de gestion de bases de données reposant sur le modèle relationnel ont pris le pas sur ceux implémentant d’autres types de modèles de données. Les entreprises les adoptèrent de par leur structuration de données fortement cohérentes et le support de transaction ACID, il est aujourd’hui remis en question par l’apparition de nouveaux besoins liés à l’émergence du Big Data. Ce phénomène implique que certaines entreprises doivent maintenant gérer des volumes gigantesques de données en croissances exponentielles. Répondant à cette problématique, le NoSQL apparaît comme une solution viable mais pas dénuée de défauts. Dès lors, faire un choix dans le but d’avoir les technologies les plus appropriées aux situations s’imposent.
3 Base de données Une grande quantité de données (ou ensemble d’informations), centralisées ou non, servant pour les besoins d’une ou plusieurs applications, interrogeables et modifiables par un groupe d’utilisateurs travaillant en parallèle. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
4 SGBD Ensemble de programmes qui permettent à des utilisateurs de créer et maintenir une base de données. Ensemble de procédures permettant : la description des données et des relations les concernant, l'interrogation de la base, la mise à jour, le partage des données, la protection des données de la base. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
5 SGBD Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
6 SGBD Objectifs Définir des contraintes d’intégrité sur une BD: ✓ contraintes de domaines ✓ contraintes d’existence Définir des protections d’accès: ✓ authentification ✓ autorisations d’accès Résoudre les problèmes d’accès multiples ✓ blocages ✓ inter blocages Reprise en cas de pannes ✓ sauvegarde des données ✓ journaux Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
7 SGBD Architecture d’un SGBD Architecture imposée comme standard (ANSI/SPARC) ➢ Elle est basée sur trois niveaux ✓ Niveau interne: Décrit le modèle de stockage des données (fichiers, etc.) et les fonctions d’accès. ✓ Niveau conceptuel: Permet la description Des objets Des propriétés des objets Des liens entre les objets Des contraintes ✓ Niveau externe: Description des données vues par un utilisateur ( ou un groupe d’utilisateurs) Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
8 SGBD Modèles de données Un modèle de données est un moyen pour décrire la forme logique des données. Exemple ✓ Modèle hiérarchique: modèle en arborescence ✓ Modèle réseau: extension du modèle hiérarchique (liens, arborescence) ✓ Modèle relationnel: modèle en tables ou relations ✓ Modèle objet: basé sur les objets Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
9 Modèle relationnel Le modèle relationnel est basé sur une organisation des données sous forme de Tables(relations), chacune identifiée par un nom unique. La manipulation des données se fait selon le concept mathématique de l'algèbre relationnelle (sélection, projection, union, intersection, différence, etc.). Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
10 Modèle relationnel On représente ainsi les données dans des objets "table" à deux dimensions. Les colonnes (attributs) représentent les valeurs d'un type particulier pour un domaine. Les lignes contiennent les enregistrements (tuples) de la table. Chacun d'entre eux possède un identifiant qui garantit son unicité. IDNomPrénomGénie 459LOAkhmadoul MoukhtarGIT 569NDAOMamadou LamineGC Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
11 Modèle relationnel Le SQL (Structured Query Language) Les SGBD supportant le modèle relationnel utilisent le langage déclaratif "SQL" qui est un standard pour le dialogue avec les SGBDR. Il sert essentiellement à effectuer des requêtes sur une BD pour en extraire des infos. Un SGBD fournit un langage de définition des données (LDD) et un langage de manipulation des données (LMD). C'est un langage de définition (LDD) et de manipulation (LMD). LDD : Parce qu'il permet de créer, modifier et supprimer des objets de type "table" en base. LMD : Parce qu'il permet de lire, modifier, insérer et supprimer des données dans des tables. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
12 Modèle relationnel Transaction ACID Atomicité Cohérence Isolation Durabilité Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
13 Modèle relationnel Forces des SGBD relationnels classiques Indépendance entre : Modèle de données et structures de stockage Requêtes complexes Optimisation très fine des requêtes, index permettant un accès rapide aux données Logiciels mûrs, stables, efficaces, riches en fonctionnalités et en interfaces Contraintes d’intégrité permettant d’assurer des invariants sur les données Gestion efficace de grands volumes de données (gigaoctet, voire téraoctet) Transactions garantissant la gestion de la concurrence, l’isolation entre utilisateurs, la reprise sur panne Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
14 Modèle relationnel Faiblesses des SGBD relationnels classiques Incapable de gérer de très grands volumes de données Impossible de gérer des débits extrêmes (plus que quelques milliers de requêtes par seconde) Peu adapté au stockage et à l’interrogation de certains types de données Les propriétés ACID entraînent de sérieux surcoûts en latence, accès disques, temps CPU (verrous, journalisation, etc.) Performances limitées par les accès disque Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
15 Introduction au Big Data Le passage au XXIe siècle a vu les volumes de données manipulées par certaines entreprises ou organismes, notamment ceux en rapport avec Internet, augmenter considérablement. Réseaux sociaux, opérateurs téléphoniques, bases de données médicales, etc., l’informatisation croissante des traitements en tout genre implique une multiplication exponentielle de ce volume de données qui se compte maintenant en pétaoctets. La gestion et le traitement de ces volumes de données sont considérés comme un nouveau défi de l’informatique, et les moteurs de bases de données relationnelles traditionnels, hautement transactionnels, semblent totalement dépassés. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
16 Introduction au Big Data Qu’est-ce que le Big Data? Le Big Data, mot inventé par les Anglo-Saxon pour désigner l'explosion des volumes de données, est bien une réalité du XXIe siècle (environ depuis les années deux milles). Il est décrit par trois termes : Volume, Velocity(rapidité) et Variety (variété). Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
17 Emergence du NoSQL Les solutions de bases de données relationnelles et les entrepôts de données classiques ne sont pas en mesures de faire face au Big Data. Ces premières imposent un modèle de données très peut flexibles ainsi qu'une forte cohérence des données. Il faut donc adopter un autre mode de gestion des données pour faciliter les analyses massives. En effet, Il existe cependant certains critères déterminants pour basculer vers le NoSQL : TaillePerformance en écritureType de données flexibleScalabilité Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
18 Technologies associées CAP Alors que le modèle relationnel obéit aux formes normales et aux règles ACID, les bases de données NoSQL suivent le théorème CAP. Elles sont donc tenues de respecter deux principes sur trois et choisiront un des trois cas en fonction des besoins à combler: Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
19 Technologies associées Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
20 Types de base de données NoSQL Il existe plusieurs types de bases de données NoSQL. Cependant, elles ont toutes un point commun, c'est l'abandon des contraintes proches des données. Les types de base de données NoSQL sont: Les entrepôts clé-valeur Les bases orientées documents Les bases orientées colonnes Les bases orientées graphes Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
21 Types de base de données NoSQL Système clé-valeur Requêtes très simples : get récupère la valeur associée à une clef put ajoute un nouveau couple clef/valeur Accent mis sur le passage à l’échelle transparent, une faible latence, un débit très élevé Exemple d’implémentation : table de hachage distribuée Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
22 Types de base de données NoSQL Système orienté document Requêtes toujours très simples : get récupère le document (JSON, XML, YAML...) associé à une clef put ajoute un nouveau document associé à une clef Des index additionnels permettant de récupérer les documents contenant tel mot-clef, ayant telle propriété, etc. Documents organisés en collections, gestion de méta-données (versions, dates), etc. Accent mis sur la simplicité de l’interface, la facilité de manipulation dans un langage de programmation Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
23 Types de base de données NoSQL Système orienté colonnes Au lieu de stocker les données ligne par ligne, les stocker colonne par colonne Organisation plus riche que dans les systèmes clef-valeur (plusieurs colonnes par objet stocké) Rend plus efficace l’agrégation ou le parcours des valeurs d’une même colonne Distribution transparente, passage à l’échelle grâce à des arbres de recherche distribués ou des tables de hachages distribuées Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
24 Types de base de données NoSQL Système orienté graphe Cherchent à répondre à des problèmes complexes voire impossibles pour des SGBDR. Offrent une réponse adéquate à un modèle de données très volumineux et fortement connecté. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
25 Types de base de données NoSQL Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
26 Les avantages du NoSQL Plus évolutif C’est en effet l’élasticité de bases de données NoSQL qui le rend si bien adapté au traitement de gros volumes de données. Plus flexible N’étant pas enfermée dans un seul et unique modèle de données, les applications NoSQL peuvent donc stocker des données sous n’importe quel format ou structure, et changer de format en production. En fin de compte, cela équivaut à un gain de temps considérable et à une meilleure fiabilité. Plus économique Les serveurs destinés aux bases de données NoSQL sont généralement bon marché, de plus, la très grande majorité des solutions NoSQL sont Open Source, ce qui reflète une économie importante sur le prix des licences. Plus simple Les bases de données NoSQL ne sont pas forcément moins complexes que les bases relationnelles, mais elles sont beaucoup plus simples à déployer. La façon dont elles ont été conçues permet une gestion beaucoup plus légère. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
27 Les Inconvénients du NoSQL Ne se base pas sur les principes ACID (la plupart) Sacrifie la forte cohérence des données au bénéfice de la haute disponibilité et de la scalabilité horizontale Ne supporte pas la fusion de plusieurs requêtes Manque de standardisation des interfaces entre les applications car chaque système de gestion de base de données NoSQL vient avec son propre langage de requête Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
28 Le NewSQL Durant l'année 2011, un groupe de recherche nommé "451 Research" a analysé avec brio le problème évoqué ci- dessus et défini le nom "NewSQL" pour une base de données regroupant les avantages du NoSQL et des SGBDR. Dès lors, plusieurs implémentations de ce nouveau type d'architecture sont apparues très récemment. Le NewSQL est une architecture qui reprend les avantages du NoSQL et comble son principal désavantage. Il palie à l'éventuel cohérence des données de ce dernier grâce au support de transaction ACID via un langage unique de requêtage le SQL. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
29 Caractéristiques du NewSQL Quelques-unes de ces caractéristiques: Le SQL comme langage commun de requêtage Transaction ACID Evite la pause de verrous lors d'opérations concurrentes de lecture avec les opérations d'écritures. La lecture en temps réel en est ainsi facilitée. Meilleures performances par nœud que les solutions classiques de type SGBDR. Scalabilité horizontale, architecture sans maître et capable de tourner sur un nombre important de nœuds sans souffrir de goulot d'étranglement. Architecture distribuée. Base de données en mémoire Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
30 Caractéristiques du NewSQL Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
31 Inconvénients du NewSQL La plupart des bases de données NewSQL sont des logiciels propriétaires ou ne s'appliquent qu'à des scénarios spécifiques, ce qui limite considérablement la diffusion et l'adoption de cette nouvelle technologie. Non homogène. Nécessite beaucoup de temps pour que ses solutions ne se généralisent réellement. Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
32 MySQL VS MongoDB Chargement des données Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
33 MySQL VS MongoDB Workload A : 50% de lectures, 50% de mises à jour. Workload B : 95% de lectures, 5% de mises à jour. Workload C: 100% de lectures. Workload D: 95 % lecture5 % insertion. Workload E: 95 % scan 5 % insertion. Workload F: 50% lecture50 % Read-Modify-Write. Workload G: 5 % lecture95 % Read-Modify-Write. Workload H: 100% Read-Modify-Write Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
34 Workload A Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
35 Workload B Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
36 Workload C Introduction Modèle relationne l Big DataPerspectives MySQL VS MongoDB
37 Conclusion Après la lecture des résultats obtenus en exécutant les huit charges de travail, nous pouvons conclure que la solution SQL MySQL a été adéquate pour des opérations purement lecture dans des environnements de petites échelles, mais dans des environnements à grandes échelles ou pour des opérations de lecture/écriture, il est très intéressant d’adopter la solution NoSQL MongoDB
38 Sources Etude-comparative-des-performances-des-bases-de-donnees(Mr BEKADDOUR Abderazak, Mr BECHLAGHEM Seyf-Allah) Séance 1 NoSQL vs SQL : Historique et évolution (Sébastien Combéfis, Virginie Van den Schrieck mercredi 12 octobre 2016) TB_Hadrien_Furrer SQL, NoSQL, NewSQL stratégie de choix par Hadrien Furrer Limites des systèmes classiques de gestion de bases partie2 NoSQL Bases de Données 1 par Abdoul Aziz Ciss de données -Modèle relationnel Introduction
Merci de votre attention