COURS Préparation à la certification : Big Data Chapitre 5 : Big Data et NoSQL
COURS Préparation à la certification : Big Data Chapitre 5 : Big Data et NoSQL Chapitre 3 : Big Data et NoSQL 1 2 3 4 5 Mouvement NoSQL Taxonomie des bases NoSQL Technologies communément utilisées dans les bases NoSQL Avantages / Inconvénients des bases NoSQL NoSQL - Cas pratiques Mouvement NoSQL 1 2 3 4 5 Mouvement NoSQL Nouveaux besoins en gestion de données Limites des systèmes SGBD classiques Racines et concepts fondateurs Caractéristiques générales des BD NoSQL Taxonomie des bases NoSQL BD NoSQL Clé/Valeur (Key/Value Store) BD NoSQL orientées Colonnes BD NoSQL orientées Documents BD NoSQL orientées Graphes Technologies communément utilisées dans les bases NoSQL Prise en charge de l’extensibilité Partitionnement dans les systèmes NoSQL Compromis sur la Cohérence Consultation de données : MapReduce Avantages / Inconvénients des bases NoSQL Mouvement NoSQL Nouveaux besoins en gestion de données Nouveaux besoins en gestion de données Système distribué Système distribué = système logiciel qui permet de coordonner plusieurs or- dinateurs. Généralement, cette coordination se fait par envoi de messages via un réseau auquesl ont reliés ces ordinateurs. Pourquoi ? parce qu’on manipule un très grand volume de données. Sans distribution, on n’a pas d’application scalable. 2 scénarios de traitement des données : 1. Par distribution des traitements (scaling des traitements) : - on distribue les traitements sur un nombre de machines important afin d’ab- sorber des charges très importantes ; - on envoie les données aux endroits appropriés, et on enchaîne les exécutions distantes (scénario type Workflow implémentable avec des Web services). 2.Par distribution des données (scaling des données) : - on distribue les données sur un nombre important de serveurs afin de stocker de très grands volumes de données ; - on pousse les programmes vers ces serveurs (plus efficace de transférer un petit programme sur le réseau plutôt qu’un grand volume de données - Ex : algorithme MapReduce). Mouvement NoSQL Nouveaux besoins en gestion de données Système distribué Exemple : Data Centers Utilise des LANs (Local Area Networks). On distingue 3 niveaux de communication : I 1. Les serveurs sont regroupés en racks. Liaison réseau rapide, environ 1Go/sec. I 2. Un data center consiste en un grand nombre de racks, interconnectés par des routeurs (switches). Liaison à 100 Mo/sec. I 3. Entre différents data centers, il y a aussi une possibilité de communication mais par liaison assez lente (internet - 2-3 Mo/sec). Les serveurs communiquent par envoi de messages,ils ne partagent pas de disque ni de ressource de traitement ⇒ Architecture shared nothing. Début 2010 : 1 data center Google contient entre 100 et 200 racks, chacun contenant 40 serveurs. Environ 5000 serveurs par data-center pour un total de 1 millions de serveurs (estimation dŠaprès la consommation électrique). Data center de Facebook (2010) : 2500 CPU (serveurs), 1 PetaByte d’espace disque (= milleTerabytes = 1 million de Gigabytes), plus de 250 Gigabytes données compressées (plus de 2 Terabytes non compressés). Mouvement NoSQL Limites des systèmes SGBD classiques Limites des systèmes SGBD classiques SGBD Relationnels offrent: Un système de jointure entre les tables permettant de construire des requêtes complexes impliquant plusieurs entités ; Un système d’intégrité référentielle permettant de s’assurer que les l entre les entités sont valides. Contexte fortement distribué : Ces mécanismes ont un coût considéra:ble Avec la plupart des SGBD relationnels, les données d’une BD liées elles sont placées sur le même nœud du serveur ; Si le nombre de liens important, il est de plus en plus difficile de plac les données sur des nœuds différents. Mouvement NoSQL Limites des systèmes SGBD classiques Limites des systèmes SGBD classiques SGBD Relationnels sontgénéralemen transactionnels⇒ Gestion de tran- sactions respectant les contraintes ACID (Atomicity,Consistency,Isolation, Durability) ; Le modèle ACID est un des plus anciens et des plus importants concepts à l’origine des SGBD actuels.Il définit quatre principes que toute BDR doit atteindre : I Atomicité : Tout ou rien ; I Cohérence : Les transactions qui modifient l’état de la base font en sorte que les contraintes d’intégrité référentielle sont respectées ; I Isolation : Une transaction ne peut pas accéder aux données mise à jour par une autre transaction avant qu’elle ne soit validée par son propriétaire ; I Durabilité : Toute transaction validée (commitée) est assurée d’être prise en compte quelque soit la panne (transaction logs permettant de rejouer les modifications en cas de restauration). Mouvement NoSQL Limites des systèmes SGBD classiques Limites des systèmes SGBD classiques Facebook, Constat : Essor des très grandes plate-formes et applications Web (Google, Twitter, LinkedIn, Amazon,...) ; Volume considérable de données à gérer par ces applications nécessitant une distribution des données et leur traitement sur de nombreux serveurs ; Ces données sont souvent associées à des objets complexes et hétérogènes. ⇒ Limites des SGBD traditionnels (relationnels et transactionnels) basés sur SQL. D’où, nouvelles approches de stockage et de gestion des donné: es Permettant une meilleure scalabilité dans des contextes fortement distribués ; Permettant une gestion d’objets complexes et hétérogènes sans avoir à décla- rer au préalable l’ensemble des champs représentant un objet ; Regroupées derrière le terme NoSQL (Not Only SQL), proposé par Carl Strozzi, ne se substituant pas aux SGBD Relationnels mais les complètant en comblant leurs faiblesses. Mouvement NoSQL Limites des systèmes SGBD classiques Limites des systèmes SGBD classiques Nécessaire de distribuer les traitements de données entre différents serveurs ; Difficile de maintenir les contraintes ACID à l’échelle du système distribué entier tout en maintenant des performances correctes. ⇒ La plupart des SGBD NoSQL relâchent les contraintes ACID, ou même ne proposent pas de gestion de transactions. Bases de données NoSQL : - Ce n’est pas (comme son nom le laisse supposer) NoSQL (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 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... Mouvement NoSQL Racines et concepts fondateurs Genèse du NoSQL 1988 : Le terme à été inventé par Carlo Strozzi qui présentait le NoSQL comme un modèle de BD plus léger et sans interface SQL ; Juin 2009 - Meetup NoSQL de San Francisco : Le mouvement NoSQL à prit un essor important. Plus de 100 développeurs de logiciels ont assisté à des présentations de solutions telles que Project VoldemortC, assandra Project, Dynomite, HBase, Hypertable, CouchDB et MongoDB ; 2011 : un travail de spécification pour un langage de manipulation standar- disé a débuté sous le nom de UnQL (Unstructured Query Language)I.l se propose de formaliser la façon dont les bases NoSQL requêtent les collections (équivalent des tables pour les BDR). ⇒ Le NoSQL est issu du travail des grands acteurs d’Internet (Google, Amazon, Facebook, LinkedIn,...) en écho aux nouvelles architectures (Cloud, Grille de calcul, etc.). Mouvement NoSQL Racines et concepts fondateurs Potentialdes BD NoSQL dans l’entreprise http ://www.pwc.com/us/en/advisory/business-digital-technology-trends-nosql-databases.html Mouvement NoSQL Racines et concepts fondateurs Théorème de CAP (Brewer, 2000) L’émergence du NoSQL est liée au théorème de CAP (Coherence (Cohérence), Availibility (Disponibilité), Partition-Tolerance (Résistance au morcellement). Cohérence ou Consistance : Tous les nœuds du système voient exactement les mêmes données au même moment ; Availability ou Disponibilité : L’échec d’un nœud n’empêche pas les survivants de continuer à fonc- tionner ; Partition-tolerance ou Résistance au partitionne- ment : Le système étant partitionné, aucune panne moins importante qu’une coupure totale du réseau ne doit l’empêcher de répondre correctement (en cas de partitionnement en sous-réseaux, chacun doit pouvoir fonctionner de manière autonome). ⇒ Dans un système distribué, il est impossible d’obtenir ces 3 propriétés en même temps, ilfaut en choisir 2 parmi les 3. Mouvement NoSQL Racines et concepts fondateurs Théorème de CAP Les SGBDR assurent les propriétés de Consistance et de Disponibilité (Avai- lability) ⇒ Système AC ; Les SGBD NoSQL sont des systèmes CP (Cohérent et Résis- tant au partitionne- ment) ou AP (Dispo- nible et Résistant au partitionnement). ⇒ Dans un système distribué, il est impossible d’obtenir ces 3 propriétés en même temps, il faut en choisir 2 parmi les 3. Mouvement NoSQL Racines et concepts fondateurs Théorème de CAP Consistance (Coherence) Exemple 1 : Une instance de la BD est automa- tiquement pleinement consistante puisqu’il n’y a qu’un seul nœud qui maintient l’état ; Exemple 2 : Si 2 serveurs de BD sont impliqués, et si le système est conçu de telle sorte que toutes les clés de A à M sont conservées sur le serveur 1, et les clés N à Z sont conservées sur le serveur 2, alors le système peut encore facilement garantir la cohérence ; Exemple 3 : Supposons 2 BD avec des répliques. Si une des BD fait une opération d’insertion de ligne, cette opération doit être aussi faite (commi- ted) dans la seconde BD avant que l’opération soit considérée comme complète. - Pour avoir une cohérence de 100% dans un tel environne- ment uploads/Sante/lecon6-base-donees-nosql.pdf
Documents similaires










-
43
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 20, 2022
- Catégorie Health / Santé
- Langue French
- Taille du fichier 1.0481MB