SQL, NoSQL, NewSQL stratégie de choix
Furrer Hadrien iv
Contenu
1. Introduction ................................................................................................ 1
2. Le modèle relationnel ................................................................................ 2
2.1 Besoins ......................................................................................................... 2
2.2 Caractéristiques ........................................................................................... 3
2.2.1 Représentation ........................................................................................ 3
2.2.2 Langage .................................................................................................. 5
2.2.3 Formes normales .................................................................................... 6
2.2.4 Transaction ACID .................................................................................... 9
2.3 Critères ........................................................................................................10
3. Dénormalisation ...................................................................................... 11
3.1 Nouveaux besoins ......................................................................................11
3.2 Réponses .....................................................................................................13
3.3 Exemples de mises en œuvres ..................................................................16
3.3.1 Champs calculés ....................................................................................18
3.4 Forces et faiblesses ....................................................................................18
3.5 Critères ........................................................................................................19
4. Big Data .................................................................................................... 20
4.1 Nouveaux défis............................................................................................20
4.2 Besoins à couvrir ........................................................................................23
5. Le NoSQL ................................................................................................. 25
5.1 Réponses au Big data .................................................................................25
5.2 Technologies associées .............................................................................28
5.2.1 CAP .......................................................................................................28
5.2.2 MapReduce ............................................................................................29
5.2.3 Hadoop ..................................................................................................30
5.2.4 Types de bases de données NoSQL ......................................................33
5.2.5 Architecture avec maître ........................................................................51
5.2.6 Architecture sans maître ........................................................................54
5.2.7 Réplication .............................................................................................55
5.2.8 Memcached ...........................................................................................56
5.2.9 WAL .......................................................................................................56
5.3 NoSQL sur mobile .......................................................................................58
5.3.1 SQLite ....................................................................................................58
5.3.2 Web Storage ..........................................................................................60
5.3.3 IndexedDB .............................................................................................61
5.3.4 Couchbase lite .......................................................................................63
5.4 Problème de "eventual consistency" ........................................................64