|
| Titre : | Les bases de données NoSQL : comprendre et mettre en oeuvre | | Type de document : | texte imprime | | Auteurs : | Rudi Bruchez | | Editeur : | Paris : Eyrolles | | Année de publication : | DL 2013,Cop 2013 | | Importance : | (X-279 p.) | | Présentation : | ill., couv. ill. | | Format : | 23 cm | | ISBN/ISSN/EAN : | 978-2-212-13560-2 | | Note générale : | Index | | Langues : | Français | | Mots-clés : | NoSQL Bases de données:conception Bases de données:gestion | | Résumé : |
Des bases pour la performance et le Big Data. En quelques années, le volume des données brassées par les entreprises a considérablement augmenté. Emanant de sources diverses (transactions, comportements, réseaux sociaux, géolocalisation), elles sont souvent structurées autour d'un seul point d'entrée, la clé, et susceptibles de croître très rapidement. Autant de caractéristiques qui les rendent très difficiles à traiter avec des outils classiques de gestion de données. Par ailleurs, certains cas d'utilisation exigeant des temps d'accès très courts défient également les capacités des moteurs transactionnels. C'est pour répondre à ces différentes problématiques que sont nées les bases de données NoSOL (Not Only SOL), sous l'impulsion de grands acteurs du Web comme Facebook ou Google, qui les avaient développées à l'origine pour leurs besoins propres. Grâce à leur flexibilité et leur souplesse, ces bases non relationnelles permettent en effet de gérer de gros volumes de données hétérogènes sur un ensemble de serveurs de stockage distribués, avec une capacité de montée en charge très élevée. Elles peuvent aussi fournir des accès de paires clé-valeur en mémoire avec une très grande célérité. Réservées jusqu'à peu à une minorité, elles tendent aujourd'hui à se poser en complément du modèle relationnel qui dominait le marché depuis plus de 30 ans. Du choix de la base NoSQL à sa mise en oeuvre. Cet ouvrage d'une grande clarté dresse un panorama complet des bases de données NoSOL, en analysant en toute objectivité leurs avantages et inconvénients. Dans une première partie, il présente les grands principes de ces bases non relationnelles : interface avec le code client, architecture distribuée. paradigme MapReduce, etc. Il détaille ensuite dans une deuxième partie les principales solutions existantes (Hadoop, MongooB, Cassandra, CouchDB), en précisant spécificités, forces et faiblesses de chacune. Complétée par une étude de cas réel, la dernière partie du livre est consacrée au déploiement concret de ces bases : dans quel cas passer au NoSOL ? quelle base adopter selon ses besoins ? quelles données basculer en NoSOL ? comment mettre en place une telle base ? comment la maintenir et superviser ses performances ? | | Note de contenu : |
Avant-propos 1
Un ouvrage impartial 2
À propos des exemples de code 3
Première partie Qu'est-ce qu'une base NoSQL ? 5
Chapitre 1 Des SGBD relationnels au NoSQL 7
Brève histoire des systèmes de gestion de bases de données 7
Le modèle hiérarchique 8
Codasyl et Cobol 8
Edgard Frank Codd 9
Le système dominant : le modèle relationnel d'Edgar Frank Codd 10
Les règles de Codd 11
De OLTP à OLAP 11
L'émergence du Big Data et des bases NoSQL 13
La solution Google 13
Hadoop, une implémentation de MapReduce 14
BigTable, encore Google ! 15
L'influence d'Amazon 15
Le mouvement NoSQL est-il une avancée ? 17
La nébuleuse NoSQL 18
Le SGBD est un développement comme un autre 18
Chapitre 2 NoSQL versus SQL : quelles différences ? 21
Les principes du relationnel en regard du NoSQL 21
Le Waterfall Model 22
La normalisation 23
L'algèbre relationnelle 27
Le défaut d'impédance 30
Les NULL 33
Le transactionnel et la cohérence des données 34
Isolation de la transaction 35
La transaction distribuée 37
Le théorème CAP 38
Journalisation et durabilité de la transaction 41
Big Data et décisionnel 43
Chapitre 3 Les choix techniques du NoSQL 47
L'interface avec le code client 47
Les protocoles d'accès aux données 52
L'architecture distribuée 64
La distribution avec maître 64
La distribution sans maître 68
Le paradigme MapReduce 78
Lisp et les langages fonctionnels 79
La cohérence finale 82
Chapitre 4 Les schémas de données dans les bases NoSQL 91
schema-less 91
Qualifier la donnée 92
Une approche non relationnelle 92
Les paires clé-valeur 94
Les entrepôts clé-valeur 95
Bases orientées documents 99
JSON 100
Bases orientées colonnes 102
Les documents binaires 104
Deuxième partie Panorama des principales bases de données NoSQL 105
Préliminaires 105
Chapitre 5 Hadoop et HBase 107
Hadoop 107
Installation 107
Tester l'exécution d'Hadoop 115
HBase 120
Architecture 121
Installation en mode standalone 121
Mise en oeuvre 123
Chapitre 6 CouchDB 127
Présentation 127
Caractéristiques de CouchDB 127
Mise en oeuvre de CouchDB 128
Utilisation de Futon 131
Utilisation de l'API Rest 131
Utilisation de l'API Rest dans le code client 134
Les fonctionnalités du serveur 137
Programmation client 142
Chapitre 7 MongoDB 145
Présentation 145
Caractéristiques de MongoDB 145
Mise en oeuvre de MongoDB 149
L'invite interactive 149
Programmation client 152
Administration 154
Sécurité 155
Montée en charge 156
Chapitre 8 Riak 163
Mise en oeuvre 163
Utilisation de l'API Rest 165
Programmation client 167
Administration 168
Configuration du noeud 168
Chapitre 9 Redis 171
Présentation 171
Les types de données 172
Mise en oeuvre 173
Installation 173
Configuration 174
Utilisation de redis-cli 174
Exemples d'applications clientes 176
Maintenance 179
Conclusion 182
Chapitre 10 Cassandra 183
Caractéristiques du moteur 183
Modèle de données 183
Stockage 184
Mise en oeuvre 184
Configuration 185
Utilisation de l'invite 186
Gestion de la cohérence 188
Programmation client 190
Nodetool 191
Conclusion 192
Chapitre 11 Les autres bases de données de la mouvance NoSQL 193
ElasticSearch 193
Mise en oeuvre 194
Les bases de données orientées graphes 200
Neo4j 200
Troisième partie Mettre en oeuvre une base NoSQL 205
Chapitre 12 Quand aller vers le NoSQL et quelle base choisir ? 207
Aller ou non vers le NoSQL 207
Les avantages des moteurs relationnels 209
Que doit-on stocker ? 209
La différence d'approche avec le relationnel 210
Le problème des compétences 210
Quels sont les besoins transactionnels ? 211
Résumé des cas d'utilisation 211
Quelle base choisir ? 214
En résumé 218
Conclusion 218
Chapitre 13 Mettre en place une solution NoSQL 221
Architecture et modélisation 221
Stocker du XML 222
Conception pilotée par le domaine 224
La cohérence 225
Design patterns 226
Choisir l'architecture matérielle 229
Évaluer les besoins en mémoire de Redis 230
Évaluation des besoins disque 233
Virtualisation 235
Mettre en place la solution et importer les données 236
Déploiement distribué 236
Outils de gestion de configuration 237
Importer les données 238
Importer du XML 243
Exemples de développements 245
Chapitre 14 Maintenir et superviser ses bases NoSQL 247
Réaliser des tests de charge 247
Redis 248
Cassandra 249
Tests génériques 250
Supervision avec les outils Linux 251
La commande iostat 251
La commande iftop 253
La commande pidstat 254
La commande sar 255
Supervision avec les outils intégrés 256
MongoDB 256
Cassandra 257
Redis 258
Supervision avec Ganglia 259
Installer Ganglia 260
Ajout de modules Python 261
Chapitre 15 Étude de cas : le NoSQL chez Skyrock 263
Le développement de solutions en interne 264
Topy 265
Fluxy 265
L'utilisation de Redis 266
Tester la charge 268
Contourner les problèmes 271
Utiliser Redis pour le traitement d'images 272
Les applications mobiles : Smax 272
Exemple de requêtes géographiques dans MongoDB 273
Conclusion Comment se présente le futur ? 275
Index 277
Table des matières | | En ligne : | http://iris.banq.qc.ca/alswww2.dll/APS_ZONES?fn=ViewNotice&q=0004464667 | | Permalink : | ./index.php?lvl=notice_display&id=13511 |
Les bases de données NoSQL : comprendre et mettre en oeuvre [texte imprime] / Rudi Bruchez . - Paris : Eyrolles, DL 2013,Cop 2013 . - (X-279 p.) : ill., couv. ill. ; 23 cm. ISBN : 978-2-212-13560-2 Index Langues : Français | Mots-clés : | NoSQL Bases de données:conception Bases de données:gestion | | Résumé : |
Des bases pour la performance et le Big Data. En quelques années, le volume des données brassées par les entreprises a considérablement augmenté. Emanant de sources diverses (transactions, comportements, réseaux sociaux, géolocalisation), elles sont souvent structurées autour d'un seul point d'entrée, la clé, et susceptibles de croître très rapidement. Autant de caractéristiques qui les rendent très difficiles à traiter avec des outils classiques de gestion de données. Par ailleurs, certains cas d'utilisation exigeant des temps d'accès très courts défient également les capacités des moteurs transactionnels. C'est pour répondre à ces différentes problématiques que sont nées les bases de données NoSOL (Not Only SOL), sous l'impulsion de grands acteurs du Web comme Facebook ou Google, qui les avaient développées à l'origine pour leurs besoins propres. Grâce à leur flexibilité et leur souplesse, ces bases non relationnelles permettent en effet de gérer de gros volumes de données hétérogènes sur un ensemble de serveurs de stockage distribués, avec une capacité de montée en charge très élevée. Elles peuvent aussi fournir des accès de paires clé-valeur en mémoire avec une très grande célérité. Réservées jusqu'à peu à une minorité, elles tendent aujourd'hui à se poser en complément du modèle relationnel qui dominait le marché depuis plus de 30 ans. Du choix de la base NoSQL à sa mise en oeuvre. Cet ouvrage d'une grande clarté dresse un panorama complet des bases de données NoSOL, en analysant en toute objectivité leurs avantages et inconvénients. Dans une première partie, il présente les grands principes de ces bases non relationnelles : interface avec le code client, architecture distribuée. paradigme MapReduce, etc. Il détaille ensuite dans une deuxième partie les principales solutions existantes (Hadoop, MongooB, Cassandra, CouchDB), en précisant spécificités, forces et faiblesses de chacune. Complétée par une étude de cas réel, la dernière partie du livre est consacrée au déploiement concret de ces bases : dans quel cas passer au NoSOL ? quelle base adopter selon ses besoins ? quelles données basculer en NoSOL ? comment mettre en place une telle base ? comment la maintenir et superviser ses performances ? | | Note de contenu : |
Avant-propos 1
Un ouvrage impartial 2
À propos des exemples de code 3
Première partie Qu'est-ce qu'une base NoSQL ? 5
Chapitre 1 Des SGBD relationnels au NoSQL 7
Brève histoire des systèmes de gestion de bases de données 7
Le modèle hiérarchique 8
Codasyl et Cobol 8
Edgard Frank Codd 9
Le système dominant : le modèle relationnel d'Edgar Frank Codd 10
Les règles de Codd 11
De OLTP à OLAP 11
L'émergence du Big Data et des bases NoSQL 13
La solution Google 13
Hadoop, une implémentation de MapReduce 14
BigTable, encore Google ! 15
L'influence d'Amazon 15
Le mouvement NoSQL est-il une avancée ? 17
La nébuleuse NoSQL 18
Le SGBD est un développement comme un autre 18
Chapitre 2 NoSQL versus SQL : quelles différences ? 21
Les principes du relationnel en regard du NoSQL 21
Le Waterfall Model 22
La normalisation 23
L'algèbre relationnelle 27
Le défaut d'impédance 30
Les NULL 33
Le transactionnel et la cohérence des données 34
Isolation de la transaction 35
La transaction distribuée 37
Le théorème CAP 38
Journalisation et durabilité de la transaction 41
Big Data et décisionnel 43
Chapitre 3 Les choix techniques du NoSQL 47
L'interface avec le code client 47
Les protocoles d'accès aux données 52
L'architecture distribuée 64
La distribution avec maître 64
La distribution sans maître 68
Le paradigme MapReduce 78
Lisp et les langages fonctionnels 79
La cohérence finale 82
Chapitre 4 Les schémas de données dans les bases NoSQL 91
schema-less 91
Qualifier la donnée 92
Une approche non relationnelle 92
Les paires clé-valeur 94
Les entrepôts clé-valeur 95
Bases orientées documents 99
JSON 100
Bases orientées colonnes 102
Les documents binaires 104
Deuxième partie Panorama des principales bases de données NoSQL 105
Préliminaires 105
Chapitre 5 Hadoop et HBase 107
Hadoop 107
Installation 107
Tester l'exécution d'Hadoop 115
HBase 120
Architecture 121
Installation en mode standalone 121
Mise en oeuvre 123
Chapitre 6 CouchDB 127
Présentation 127
Caractéristiques de CouchDB 127
Mise en oeuvre de CouchDB 128
Utilisation de Futon 131
Utilisation de l'API Rest 131
Utilisation de l'API Rest dans le code client 134
Les fonctionnalités du serveur 137
Programmation client 142
Chapitre 7 MongoDB 145
Présentation 145
Caractéristiques de MongoDB 145
Mise en oeuvre de MongoDB 149
L'invite interactive 149
Programmation client 152
Administration 154
Sécurité 155
Montée en charge 156
Chapitre 8 Riak 163
Mise en oeuvre 163
Utilisation de l'API Rest 165
Programmation client 167
Administration 168
Configuration du noeud 168
Chapitre 9 Redis 171
Présentation 171
Les types de données 172
Mise en oeuvre 173
Installation 173
Configuration 174
Utilisation de redis-cli 174
Exemples d'applications clientes 176
Maintenance 179
Conclusion 182
Chapitre 10 Cassandra 183
Caractéristiques du moteur 183
Modèle de données 183
Stockage 184
Mise en oeuvre 184
Configuration 185
Utilisation de l'invite 186
Gestion de la cohérence 188
Programmation client 190
Nodetool 191
Conclusion 192
Chapitre 11 Les autres bases de données de la mouvance NoSQL 193
ElasticSearch 193
Mise en oeuvre 194
Les bases de données orientées graphes 200
Neo4j 200
Troisième partie Mettre en oeuvre une base NoSQL 205
Chapitre 12 Quand aller vers le NoSQL et quelle base choisir ? 207
Aller ou non vers le NoSQL 207
Les avantages des moteurs relationnels 209
Que doit-on stocker ? 209
La différence d'approche avec le relationnel 210
Le problème des compétences 210
Quels sont les besoins transactionnels ? 211
Résumé des cas d'utilisation 211
Quelle base choisir ? 214
En résumé 218
Conclusion 218
Chapitre 13 Mettre en place une solution NoSQL 221
Architecture et modélisation 221
Stocker du XML 222
Conception pilotée par le domaine 224
La cohérence 225
Design patterns 226
Choisir l'architecture matérielle 229
Évaluer les besoins en mémoire de Redis 230
Évaluation des besoins disque 233
Virtualisation 235
Mettre en place la solution et importer les données 236
Déploiement distribué 236
Outils de gestion de configuration 237
Importer les données 238
Importer du XML 243
Exemples de développements 245
Chapitre 14 Maintenir et superviser ses bases NoSQL 247
Réaliser des tests de charge 247
Redis 248
Cassandra 249
Tests génériques 250
Supervision avec les outils Linux 251
La commande iostat 251
La commande iftop 253
La commande pidstat 254
La commande sar 255
Supervision avec les outils intégrés 256
MongoDB 256
Cassandra 257
Redis 258
Supervision avec Ganglia 259
Installer Ganglia 260
Ajout de modules Python 261
Chapitre 15 Étude de cas : le NoSQL chez Skyrock 263
Le développement de solutions en interne 264
Topy 265
Fluxy 265
L'utilisation de Redis 266
Tester la charge 268
Contourner les problèmes 271
Utiliser Redis pour le traitement d'images 272
Les applications mobiles : Smax 272
Exemple de requêtes géographiques dans MongoDB 273
Conclusion Comment se présente le futur ? 275
Index 277
Table des matières | | En ligne : | http://iris.banq.qc.ca/alswww2.dll/APS_ZONES?fn=ViewNotice&q=0004464667 | | Permalink : | ./index.php?lvl=notice_display&id=13511 |
|  |