Chp4 – Bases de Données NOSQL Types, Architectures et Exemples (Cassandra, Mong
Chp4 – Bases de Données NOSQL Types, Architectures et Exemples (Cassandra, MongoDB) Big Data Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 Bases de Données NOSQL • Bases de données NOSQL (Not Only SQL) : § Ce n’est pas (comme son nom le laisse supposer) No SQL (pas de SQL) § Privilégier donc NOSQL plutôt que NoSQL • Bases de données non-relationnelles et largement distribuées • Permet une analyse et une organisation rapides et ad-hoc des données de très grands volumes et de types de données disparates • Appelées également § Cloud Databases § Non-Relational Databases § Big Data Databases § … • Développées en réponse à l’augmentation exponentielle des données générées, enregistrées et analysées par les utilisateurs modernes et leurs applications 2 Définition Bases de Données NOSQL • Principaux atouts § Évolutivité § Disponibilité § Tolérance aux fautes • Caractéristiques § Modèle de données sans schéma § Architecture distribuée § Utilisation de langages et interfaces qui ne sont pas uniquement du SQL 3 Atouts Bases de Données NOSQL • De point de vue métier, utiliser un environnement BigData et NOSQL fournit un avantage compétitif certain • Importance des données : § « Si vos données ne croissent pas, alors votre entreprise ne le fait pas non plus » 4 NOSQL et Big Data Bases de Données NOSQL • Types des bases de données NOSQL § Clef/valeur § Orientées colonnes § Orientées documents § Orientées graphes • Propriétés des BDR § ACID : Atomicity, Consistency, Isolation and Durability § Utilisation de SQL 5 Types Id Nom Humeur Date_naissance Couleur 12 Stella Heureuse 2007-04-01 NULL 13 Wimma Faim NULL Noire 9 Ninja NULL NULL NULL Types de Bases de Données NOSQL • L’un des types les plus simples, sorte de Hashmap distribuée • Conçues pour sauvegarder les données sans définir de schéma • Toutes les données sont sous forme de clef/valeur § La valeur peut être une chaîne de caractères, un objet sérialisé, blob… § La donnée est opaque au système: il n’est pas possible d’y accéder sans passer par la clef • Absence de typage a un impact sur le requêtage: toute l’intelligence portée avant par les requêtes devra être portée par l’applicatif qui interroge la BD • Communications se résumant surtout aux opérations PUT, GET et DELETE • Objectif: fournir un accès rapide aux informations, conserver la session d’un site web… • Exemple : DynamoDB (Amazon), Azure Table Storage (ATS), Redis, BerkeleyDB, Voldemort (LinkedIn) 6 1. Clef/Valeur (Key/Value Store) Types de Bases de Données NOSQL 7 1. Clef/Valeur (Key/Value Store) Id Nom Humeur Date_naissance Couleur 12 Stella Heureuse 2007-04-01 NULL 13 Wimma Faim NULL Noire 9 Ninja NULL NULL NULL Chien_12 Nom_$#_Stella~~Humeur_$#_Heureuse ~~Date_naissance_$#_2007-04-01… Clef Valeur Types de Bases de Données NOSQL • Étendent le paradigme clef/valeur, avec des « documents » plus complexes à la place des données simples, et une clef unique pour chacun d’eux • Documents de type JSON ou XML • Chaque document est un objet, contient un ou plusieurs champs, et chaque champs contient une valeur typée (string, date, binary ou array) • Permettent de stocker, extraire et gérer les informations orientées documents (données semi-structurées) • Avantage : pouvoir récupérer, via une seule clef, un ensemble d’informations structurées de manière hiérarchique § Dans les bases relationnelles, cela impliquerait plusieurs jointures • Exemples : Mongo DB (SourceForge), Couch DB (Apache), RavenDB (destiné aux plateformes .Net/Windows, interrogation via LINQ) 8 2. Orientée Documents (Document Database) Types de Bases de Données NOSQL 9 2. Orientée Documents (Document Database) Id Nom Humeur Date_naissance Couleur 12 Stella Heureuse 2007-04-01 NULL 13 Wimma Faim NULL Noire 9 Ninja NULL NULL NULL Chien_12 { type : « Chien », nom : « Stella », humeur : « Heureuse», date_naissance: 2007-04-01 } Clef Document (V1) { type : « Chien », nom : « Stella », humeur : « Heureuse», date_naissance: 2007-04-01 aboiement : [ { texte : « j’ai mangé de la pâtée» commentaires : [ { id_chien : « chien_4 », texte : « on s’en fout!» } ] } ] } Document (V2) Types de Bases de Données NOSQL • Évolution de la BD clef/valeur • Ressemble aux SGBDR, mais avec un nombre de colonnes dynamique, différent d’un enregistrement à un autre (pas de colonnes portant les valeurs NULL) • Offrent de très hautes performances et une architecture hautement évolutive • Exemples: Hbase (Hadoop), Cassandra (Facebook, Twitter), BigTable (Google) 10 3. Orientées Colonnes (Column Store) A B C D E 1 Foo Bar Hello 2 Tom 3 Java Scala Cobol 1 2 3 A Foo B Bar C Hello B Tom C Java D Scala E Cobol Types de Bases de Données NOSQL 11 3. Orientées Colonnes (Column Store) Id Nom Humeur Date_naissance Couleur 12 Stella Heureuse 2007-04-01 NULL 13 Wimma Faim NULL Noire 9 Ninja NULL NULL NULL Chien_12 Clef Chien Date_naissance 15 Chien Humeur 11 Chien Humeur 45 Chien Nom 25 Chien Couleur 34 Colonnes Aboiement Text 11 2007-04-01 En Colère Heureuse Stella Noire J’ai mangé de la pâtée Famille Titre Temps Valeur Requête: clef/famille:titre[/time] Exp: "chien_12"/"Chien":"Nom" è Stella Types de Bases de Données NOSQL 12 3. Orientées Colonnes (Column Store) Exemple Cassandra : Colonne / Super Colonne / Famille de Colonnes Types de Bases de Données NOSQL • Basées sur les théories des graphes • S’appuie sur les notions de nœuds, de relations et des propriétés qui leur sont rattachées • Conçues pour les données dont les relations sont représentées comme graphes, et ayant des éléments interconnectés, avec un nombre indéterminé de relations entre elles • Adapté aux traitements des données des réseaux sociaux • Exemples : Neo4J et InfiniteGraph, OrientDB 13 4. Orienté Graphes (Graph Database) Types de Bases de Données NOSQL 14 4. Orienté Graphes (Graph Database) Id Nom Humeur Date_naissance Couleur 12 Stella Heureuse 2007-04-01 NULL 13 Wimma Faim NULL Noire 9 Ninja NULL NULL NULL Chien_12 Chien Stella Heureuse 2007-04-01 Aboiement_5 9 Commentaire_ 83 Chien_4 « On s’en fout! » « J’ai mangé de la pâtée! » type nom humeur date_naissance aboiements Commentaire_à texte commente texte Types de Bases de Données NOSQL Modèle Performance Évolutivité Flexibilité Complexité Fonctionnalités Clef/Valeur Variable Orienté Colonnes Minimale Orienté Document Variable Orienté Graphes Théorie des Graphes 15 Comparaison NOSQL VS. BDR Chp4 – Bases de Données NOSQL 16 NOSQL et BDR • Choix de NOSQL en opposition aux bases de données relationnelles conduits par les contraintes du marché et les besoins techniques • BigData § Adaptation des BD NOSQL au BigData o Vitesse (Velocity) : beaucoup de données qui arrivent rapidement, à partir de plusieurs sources o Variété (Variety) : données structurées, semi-structurées ou non-structurées o Volume (Volume) : données très nombreuses (To et Po) o Complexité (Complexity) : données stockées et gérées à plusieurs endroits et data centers. • Disponibilité continue des données § Le manque de disponibilité peut être fatal pour une entreprise § BD NOSQL utilisent une architecture hautement distribuée : pas de SPOF § Redondance des données et traitements : tolérance aux fautes § D’où : disponibilité continue à travers les data centers, et le cloud § Toute mise à jour ou modification est faite sans déconnecter la base 17 Comparaison (1/3) NOSQL et BDR • Indépendance de l’emplacement § Possibilité de consulter et modifier une BD sans savoir où est-ce que ces opérations ont réellement lieu § Toute fonctionnalité d’écriture propagée à partir d’un emplacement, pour être disponible aux utilisateurs à partir d’autres sites § Difficile à appliquer aux BDR, surtout pour l’écriture • Modèles de données flexibles § Une des raisons majeures § Dans le modèle relationnel, les relations entre les tables sont prédéfinies, fixes et organisées dans un schéma strict et uniforme o Problèmes d’évolutivité et de performance en gérant de grands volumes de données § Les BD NOSQL peuvent accepter tout type de données (structurées, semi- structurées ou non-structurées) plus facilement § Dans les BDR, les performances posent problème, surtout quand des lignes « larges » sont utilisées et les actions de modification sont nombreuses 18 Comparaison (1/3) NOSQL et BDR • 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 § Bases NoSQL permettent le stockage et la gestion des données des applications métier, et fournissent une possibilité de comprendre les données complexes, et de prendre des décisions • Capacités transactionnelles modernes § Nouvelles définition du principe de transaction § Utilisation des propriétés BASE au lieu des propriétés ACID 19 Comparaison (3/3) NOSQL et BDR • Propriétés ACID : Atomicité, Consistance, Isolation et Durabilité § Propriétés des transactions des BDR § Atomicité : Soit toutes les instructions sont exécutées, soit aucune § Consistance : toute transaction amène la BD d’un état valide à un autre è renforcée par les contraintes d’intégrité et les clefs étrangères § Isolation : Même si plusieurs transactions peuvent être exécutées par un ou plusieurs utilisateurs simultanément, une transaction ne devrait pas voir les effets des autres transactions concurrentes § uploads/Management/chp4-bases-de-donnees-nosql.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 19, 2022
- Catégorie Management
- Langue French
- Taille du fichier 1.9542MB