Titre : | Etude comparative entre des systèmes NoSQL |
Auteurs : | SAMIRA BOUDJEMAA, Auteur ; Nadia Ben Seghier, Directeur de thèse |
Type de document : | Monographie imprimée |
Editeur : | Biskra [Algérie] : Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie, Université Mohamed Khider, 2020 |
Format : | 1 vol. (110 p.) / ill. / 29 cm |
Langues: | Français |
Mots-clés: | SGBDR,NoSQL,Redis,MongoDB,Cassandra,YCSB. |
Résumé : |
Ce mémoire s’ajoute aux différents travaux de recherche dans le domaine des bases de données NoSQL « Not only SQL ». Ces nouveaux modèles proposent une nouvelle manière d’organisation et de stockage de données conçue principalement pour remédier aux contraintes imposées par les propriétés ACID sur les modèles relationnels.
Le but de ce travail est d'expliquer l'architecture des différentes bases NoSQL disponibles sur le marché. Et de voir d’une façon plus approfondi de trois d’entre elles, à savoir: Redis, MongoDB, Cassandra pour proposer aux décideurs, des éléments d’information pour des éventuels choix de la meilleure solution appropriée pour leurs entreprises. Le Benchmark utilisé pour départager ces solutions, est le Yahoo! Cloud Serving Benchmark (YCSB), c’est la meilleure base de données destine aux bases Nosql. On a fait la comparaison dans deux machines de processeur i3 et 64 bits et pour deux systèmes différents : la dernière version de ubuntu18.04 et windows10. |
Sommaire : |
Introduction générale ....................................................................................................... 1
Chapitre I : Les Bases De Données Relationnelles Et leurs limites................... 3 1. Introduction................................................................................................................... 4 2. Les bases de données « BDD » .................................................................................4 2.1. 2.1. Définition d’une BDD............................................................................................ 4 2.2. 2.2. L’utilité d’une BDD............................................................................................... 4 2.3. 2.3. La conformité« ACID».......................................................................................... 5 2.4. 2.4. Les modèles de BDD............................................................................................. 6 3. Le système de gestion de base de données (SGBD)...........................................7 3.1. Les objectifs d’SGBD................................................................................................... 8 3.2. Principe de fonctionnement de SGBD.......................................................................... 9 3.2.1. Le niveau externe............................................................................................... 9 3.2.2. Le niveau conceptuel.......................................................................................... 9 3.2.3. Le niveau interne ou physique.......................................................................... 10 3.3. Les langages d’un SGBD…………………………………………………………….10 3.3.1. Le langage de description des données (LDD)……………...………………...10 3.3.2. Le langage de manipulation des données (LMD)….………………………….11 3.4. SGBD Relationnel........................................................................................................11 3.5. Limites de SGBD Relationnels…………………...………………………………….12 3.5.1. Modélisation des entités réelles……………………….………………………12 3.5.2. Surcharge sémantique…………………………………………………………12 3.5.3. Contraintes d’intégrité………………….……………………………………..12 3.5.4. Langage de manipulation……………….……………………………………13 3.5.5. Scalabilité limitée………………………………………………….………….13 3.5.6. Des propriétés ACID en milieu distribué……………………………………..13 3.5.7. La limite face aux usages……………………….…………………………….13 4. Conclusion………………….…………………………………………………………13 Chapitre II : Les Bases Des Données NoSQL ................................................14 1. Introduction ................................................................................................................ 15 2. Big Data......................................................................................................................... 15 2.1. Definition................................................................................................................... 15 2.1.1. Volume…………….…………………...………………………………….16 2.1.2. Vélocité…………………………………………………………………….16 2.1.3. Variété……………………..……………………………………………….16 2.1.4. Valeur…………………………..…………………………...……………..16 2.1.5. Véracité…………………………………………………………………….17 2.2. Architecture Big Data………………………….……………………….17 3. Le NoSQL………………………………………………...……...………………..…..18 3.1. Définition et concepts de base ………………………………………..……………..18 3.2. Intérêts…………...…………………………………………………………………..19 3.2.1. Scalabilité horizontale au lieu de scalabilité verticale……………………..19 3.2.2. Gestion de gros volume de données……………………………………….20 3.2.3. Performance en écriture………………………………………………..…..20 3.2.4. Types de données flexibles………..……………………………………….21 3.2.5. Structure dynamique……………………………………………………….21 3.2.6. Economie…………………………………………………………………..21 3.3. Théorème de CAP…………………………...………………………………………21 3.4. Caractéristiques……………………………………………………………………..22 3.5. Différents modèles NoSQL…………………………………………………………24 3.5.1. Bases de données clé-valeur (Key-value store)……………………………24 3.5.2. Bases de données orientées colonnes (Column family)…………………..25 3.5.3. Bases de données orientées documents (Document store)………...………26 3.5.4. Bases de données orientées graphes (Graph store)………………………..27 4. Conclusion…………..……………………………………………………………..28 Chapitre III : Redis, MongoDB et Cassandra ………….......................................29 1. Introduction ………............................................................................................... 30 2. Classement de popularité des systèmes NoSQL…………………………..30 2.1 Redis………………….…………………………………………………….33 2.1.1 Description……………………………………………...………………33 2.1.2 Stockage en mémoire vive……………………………………………. 33 2.1.3 Architecture……………………………………….…………………….34 2.1.3.1. Maître / Esclave……………………..……………………….. 34 2.1.3.2. Sentinel………………………………………………………..35 2.1.3.3. Cluster……………………...………………………………….35 2.1.3.4. Réplication…………………………………………………… 36 2.2 Mongodb……………………….…………………………………………36 2.2.1 Description……………………………………………….……………..36 2.2.2 Modèle de données…………………………………………………….37 2.2.3 Architecture…………………………………………………….……….37 2.2.3.1. Single………………………………………………………..…37 2.1.3.2. Réplication Master / Slave…………………………………… 37 2.1.3.3. Réplica Set……………………………………………….…… 38 2.1.3.4. Sharding……………………………………………………….. 38 2.2.4 Manipulation des données………………………………………………39 2.3 Cassandra……………………..………………………………………… 40 2.3.1 Description……………………………...………………………………40 2.3.2 Caractéristiques……………………………...…………………………41 2.3.2.1. Tolérance aux pannes…………………...……………………41 2.3.2.2. Décentralisé………………………………..…………………41 2.3.2.3. Modèle de données riche……………………………………. 41 2.3.2.4. Elastique…………………………………………………….. 41 2.3.2.5. Haute disponibilité…………………...……………………….41 2.3.3 Architecture……………………………………………………………..41 2.3.4 Modèle de données……………………………………………………. 42 2.3.5 Partitionnement des données dans un cluster Cassandra..........................43 3. Travaux voisins.........................................................................................................44 4. Conclusion ................................................................................................................. 44 Chapitre IV : Etude Comparative Et Résultats Expérimentaux …................ 46 1. Introduction ............................................................................................................47 2. Benchmark utilisé et charges de travail ………………………………....... 47 3. Environnement de développement ………………………………………….48 4. Configuration et Analyse des BDs NoSql sous Ubuntu 18.04…….…..49 4.1. Première partie : Configuration et Installation………………………………….49 4.1.1. La mise à jour du système d’exploitation Ubuntu…………………….50 4.1.2. Configuration de Redis V 4.0.9……………………………………51 4.1.3. Configuration de Mongodb v3.6.3………………………………….52 4.1.4. Configuration de Cassandra v3.11.7 ………………………….……54 4.1.5. Configuration de CYSB v0.18.0……………………………..….57 4.2. Deuxième partie : Tests et analyse des résultats………………………………...59 4.2.1. Evaluation de performance……………………………………………..59 4.2.2. Initialisation et présentation des Wokloads…………………….………59 4.2.3. Chargement de données (LoadProcess) …………………………..……60 4.2.4. Exécution des Workloads…………………………………………..…..63 4.3. Evaluation globale…………………………………………………………...…..73 5. Configuration et Installation des BDs NoSql sous Windows10…..…….…..74 5.1. Configuration de CYSB v0.17.0.zip………………………………..…………..74 5.2. Configuration de maven3.6.3.bin.zip………………………..…………………..74 5.3. Configuration et Création des variables d’environnement……………………...75 5.3.1. Les variables utilisateur…………………………………………….…..75 5.3.2. Les variables système…………………………………..………………76 5.4. Installation de Redis v3.0.504……………………………………………..…….77 5.5. Installation Mongodb version 4.4.0 msi…………………………………...……78 5.6. Installation Cassandra Version 3.11.1…………………………...………………79 5.7. Chargement de données (LoadProcess)…………………………………………82 5.8. Exécution des Workloads…………………………………………….………….85 5.9. Evaluation globale………………………………………………………..……..92 6. Conclusion……………………………………………………………………...…. 93 Conclusion générale……………………………………………………..………………94 Références……………………………………………………………….……………….95 |
Type de document : | Mémoire master |
Disponibilité (1)
Cote | Support | Localisation | Statut |
---|---|---|---|
MINF/570 | Mémoire master | bibliothèque sciences exactes | Consultable |