Introduction Mme Ines Slimene ines.slimen@esprit.tn 2016-2017 Plan module Intro

Introduction Mme Ines Slimene ines.slimen@esprit.tn 2016-2017 Plan module Introduction Base de données orienté document : MongoDB Base de données orienté clé/valeur : Redis Base de données orienté colonne : Cassandra Base de données orienté graphe : Neo4j 04/02/2019 BASES DE DONNÉES NOSQL 2 Plan Introduction NOSQL vs. BDR Bases de données NOSql Types de Bases de données NOSql ◦Clef/valeur ◦Orientées colonnes ◦Orientées documents ◦Orientées graphes 04/02/2019 BASES DE DONNÉES NOSQL 3 Introduction NoSQL : Not Only SQL. Que signifie vraiment « Not Only » ??? Historique: ◦Le terme « NoSQL » dans sa signification actuelle vient du nom d'un séminaire (pendant une conférence sur Hadoop) qui a eu lieu en 2009 sur les nouveaux types de bases de données qui n'utilisent pas SQL. ◦Il fallait un nom qui fasse un bon hashtag sur Twitter : court, facile à mémoriser, et non populaire sur Google pour espérer pouvoir remonter dans les premiers résultats. 04/02/2019 BASES DE DONNÉES NOSQL 4 Gestion des données au fil du temps 04/02/2019 BASES DE DONNÉES NOSQL 5 Système de fichiers 1ère génération des SGBD Les BD relationnelles Nouv types de données OLAP/DW Donnée web Deluge de données NoSQL 1960 1970 Ressources partagées 1980 Requête facile 1990 Données non structurées 2005+ Big Data Opérationnelle vs analytiques 04/02/2019 BASES DE DONNÉES NOSQL 6 RDBMS RDBMS RDBMS OLAP/DW OLAP/DW Hadoop Clé/valeur MongoDB NoSQL 1990 2000 Big Data 04/02/2019 BASES DE DONNÉES NOSQL 7 RDBMS NoSQL OLAP/DW Hadoop, Impala Traitement analytique Traitement Transactionnel visualisation Data Mining et outils d'intégration Online/temps réel Offline/Batch NOSQL vs. BDR 04/02/2019 BASES DE DONNÉES NOSQL 8 Bases de données relationnelles 04/02/2019 BASES DE DONNÉES NOSQL 9 • Entités - relation • Simple • Universel Modèle • SQL • Puissant • Ad-hoc Requête • ACID Transaction • Utilisé massivement • Nombreux moteurs sur le marché • Nombreux outils Maturité SQL Un langage de requête plus ou moins normé Tout information est décrite par des listes de n-uplets Opérations puissante ◦Sélection (where) ◦Projection (select) ◦Produit cartésien (join) ◦Union ◦Intersection ◦Différence 04/02/2019 BASES DE DONNÉES NOSQL 10 Mise en œuvre d’un SGBD-R 04/02/2019 BASES DE DONNÉES NOSQL 11 Serveur Applicatif Base de données HTTP JDBC 04/02/2019 BASES DE DONNÉES NOSQL 12 Mise en œuvre d’un SGBD-R Serveurs Applicatifs Base de données HTTP JDBC 04/02/2019 BASES DE DONNÉES NOSQL 13 Mise en œuvre d’un SGBD-R Serveurs Applicatifs Base de données HTTP JDBC Limites des bases de données relationnelles Montée en charge difficile ◦Les règles d’intégrité compliquent la montée horizontale ◦Montée en charge verticale ◦Coût non linéaire ◦Atteint une limite ◦Point unique de défaillance 04/02/2019 BASES DE DONNÉES NOSQL 14 Les limites des bases relationnelles Scalabilité ◦Le modèle de consistance des RDBMS empêche l'utilisation de plusieurs machines pour répartir la charge (au moins en écriture) ◦Pour augmenter la performance d'accès à la base, pas d'autres moyens que d'acheter un plus gros serveur, puis un autre, puis un autre, … 04/02/2019 BASES DE DONNÉES NOSQL 15 Limites des bases de données relationnelles Relation : Contient un ensemble de n-uplets (les lignes) qui contiennent des attributs (les colonnes). Le domaine de chaque attribut est fixé et doit être composé de valeurs atomiques simples, i.e. non décomposables (1FN). Une requête SQL de type select retourne toujours une relation. 04/02/2019 BASES DE DONNÉES NOSQL 16 Limites des bases de données relationnelles Contraintes ACID impossibles à respecter sur un cluster (et a fortiori sur Internet) pour conserver un fonctionnement correct (haute disponibilité, rapidité d'exécution et cohérence permanente de la base, partition accidentelle du cluster). 04/02/2019 BASES DE DONNÉES NOSQL 17 BDR : Propriétés ACID 04/02/2019 BASES DE DONNÉES NOSQL 18 Propriétés ACID Atomicité : Toute transaction doit s'exécuter entièrement sans erreur ou pas du tout Les modifications d’une transaction ne sont pas visibles par les autres tant qu’elle n’a pas été validée. Une fois validées, les données sont permanentes jusqu’à leur prochaine modification (persistance). Consistance : La base de données doit toujours être dans un état cohérent entre deux transactions (assurer par les contraintes d’intégrité). Besoin: Performances prédictibles La performance des opérations doit être prédictible Amazon: ◦Perte de 1 % de chiffre d’affaire si le temps d’affichage des pages augmente de 0,1 s ◦Plan qualité interne : Temps de réponse doit être < 300 ms pour 99,9 % des requêtes pour un pic de 500 requêtes par secondes Google pénalise les sites dont les pages s’affichent en plus de 1,5 s 04/02/2019 BASES DE DONNÉES NOSQL 19 Besoin: Prise en compte des pannes Amazon: ◦Un datacenter de 100 000 disques ◦entre 6 000 et 10 000 disques en panne par an ◦(25 disques par jour) Les sources de panne sont nombreuses ◦Matériel serveur (disque) ◦Matériel réseau ◦Alimentation électrique ◦Anomalies logicielles ◦Mises à jour des logiciels et des OS. 04/02/2019 BASES DE DONNÉES NOSQL 20 Bases de données NOSql Bases de données NOSQL (Not OnlySQL) : ◦Pas un Système de Gestion de Bases de Données mais plus un système de stockage de données. ◦Bases de données non-relationnelles et largement distribuées ◦Permet une analyse et une organisation rapides des données de très grands volumes et de types de données divers ◦Appelées également ◦Cloud Databases ◦Non-Relational Databases ◦BigData Databases 04/02/2019 BASES DE DONNÉES NOSQL 21 Bases de données NOSql Le NoSQL vise : ◦Gestion d'énormes quantités de données ◦Structuration faible du modèle ◦Montée en charge Caractéristiques ◦Conçu pour être exécutée dans un cluster, ◦Tendance à être Open Source, ◦Modèle de données sans schéma ◦Architecture distribuée ◦Utilisation de langages et interfaces qui ne sont pas uniquement du SQL 04/02/2019 BASES DE DONNÉES NOSQL 22 Bases de données NOSql 04/02/2019 BASES DE DONNÉES NOSQL 23 Avantages Inconvénients Fiabilité (tolérance aux pannes) Logiciel Extensibilité Réparation Partage des ressources Réseau Vitesse/Performance Sécurité Bases de données NOSql Business Intelligence et Analyse ◦Capacité des bases NOSQL à exploiter les données collectées pour dériver des idées ◦Extraction d’informations décisionnelles à partir d’un grand volume de données, difficile à obtenir avec des bases relationnelles Capacités transactionnelles modernes ◦Nouvelles définitions du principe de transaction ◦Utilisation des propriétés BASE au lieu des propriétés ACID 04/02/2019 BASES DE DONNÉES NOSQL 24 Bases de données NOSql  Adaptation des BD NOSQL au BigData 04/02/2019 BASES DE DONNÉES NOSQL 25 beaucoup de données qui arrivent rapidement, à partir de plusieurs sources données structurées, semi- structurées ou non- structurées données très nombreuses (To et Po) données stockées et gérées à plusieurs endroits et data centers. Volume Vitesse Variété Véracité Les systèmes NoSQL : CAP Théorème CAP (proposé par Brewer, 2000 et démontré par Gilbert et Lynch 2002) Dans un environnement distribué, il n'est pas possible de respecter simultanément. On peut, en revanche, respecter deux contraintes. 04/02/2019 BASES DE DONNÉES NOSQL 26 à tout moment, pour chaque requête, la réponse est garantie. Même en cas de panne, les données restent accessibles Availability les données peuvent être partitionnées sur différents supports ,,,,sans souci de localisation. Les activités continuent sans interruption lors de la modification du système et en cas de chute du réseau Partition Tolerance Si j’écris une donnée dans un nœud et que je la lis à partir d’un a autre nœud dans un système distribué, je retrouve ce que j’ai écris sur le premier. Consistency Les systèmes NoSQL : CAP Présentation des trois combinaisons CA, CP, AP : ◦CA – un seul cluster. Ainsi tous les nœuds sont en contact. Quant on ajoute une partition le système est bloqué ◦CP – des données peuvent être non accessible mais le reste est cohérent ◦AP - la valeur lue par un nœud peu être incohérente avec le contenu des autres nœuds 04/02/2019 BASES DE DONNÉES NOSQL 27 Consistency Partition Tolerance Availability CA AP CP MongoDB Hbase Redis RDBMS CouchDB Cassandra DynamoDB Riak NOSQL : Propriétés BASE BASE est plus flexible que ACID, accepte certaines erreurs, dont l’occurrence est assez rare 04/02/2019 BASES DE DONNÉES NOSQL 28 Le système garantit la disponibilité, comme définie dans le théorème CAP L’état du système peut changer dans le temps, même sans nouvelles entrées, et ce à cause du principe de consistance éventuelle Le système deviendra cohérent au fil du temps, en supposant que le système ne reçoit pas des entrées pendant ce temps la. Basically Available Soft-State Eventual Consistency NOSQL et BDR : Récapitulatif BRD NOSQL Consistance forte Consistance éventuelle Grandes quantités de données Enorme quantité de données Évolutivité possible Evolutivité facile SQL NoSQL Bonne disponibilité Très haute disponibilité 04/02/2019 BASES DE DONNÉES NOSQL 29 Synthèse Les systèmes de gestion de données relationnelles sont maintenant une option parmi d'autres. Leur généricité leur permet d'être utilisés dans de nombreux cas mais les rends peu performants et complexes sur certains types de données (masse de données, attributs trop nombreux, …). Il faut savoir utiliser la solution la plus adaptée et pourquoi pas en utiliser plusieurs. Bases de données NOSQL ◦Performances sur de gros volumes de données ◦Performances sur des données non structurées ◦Evolutivité très importante, même pour de faibles volumes 04/02/2019 BASES DE DONNÉES NOSQL 30 Synthèse Les systèmes NoSQL ne remplaceront jamais les bases de données relationnelles. Il faut les voir comme une alternative après un quasi monopole du uploads/s1/ch1-introduction.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 05, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.8739MB