NoSql : Etat de l’art et benchmark
PIAZZA, Adriano Girolamo iv
Table des matières
Déclaration......................................................................................................... i
Remerciements ................................................................................................ ii
Résumé ............................................................................................................ iii
Table des matières .......................................................................................... iv
Liste des figures ............................................................................................. vii
1. Introduction ................................................................................................ 1
2. L’émergence du NoSQL ............................................................................ 2
2.1 Pourquoi l’alternative du NoSQL ? ............................................................. 2
3. Les différences entre le NoSQL et le SQL ............................................... 2
3.1 Les principes du relationnel ........................................................................ 3
3.1.1 Le modèle de données ............................................................................ 3
3.1.2 La gestion de la valeur NULL .................................................................. 3
3.2 Les transactions ........................................................................................... 4
3.2.1 Les propriétés ACID ................................................................................ 4
3.3 Cohérence contre disponibilité ................................................................... 5
3.3.1 Le théorème de CAP ............................................................................... 5
3.4 Différents types de base de données NoSQL ............................................ 7
3.4.1 Les bases de données clé-valeur ............................................................ 7
3.4.2 Les bases de données orientées colonnes ............................................. 8
3.4.3 Les bases de données orientées document ...........................................10
3.4.4 Les bases de données orientées graphe ................................................11
4. Le marché ................................................................................................. 13
4.1 DynamoDB (orientée clé-valeur) ................................................................13
4.2 Cassandra (orientée colonne) ....................................................................14
4.3 MongoDB (orientée document) ..................................................................15
4.4 Neo4j (orientée graphe) ..............................................................................15
5. Caractéristiques techniques ................................................................... 16
5.1 La distribution de données .........................................................................16
5.1.1 Distribution sur un schéma maître esclave. ............................................16
5.1.2 Distribution sur un schéma multi-maitre .................................................18
5.2 MapReduce ..................................................................................................23
5.2.1 Principe de MapReduce .........................................................................23
5.2.2 Programmation fonctionnelle ..................................................................24
5.2.3 Fonctionnement de MapReduce ............................................................24
5.2.4 Les avantages ........................................................................................26