ebook img

Les bases de données NoSQL et le Big Data : Comprendre et mettre en oeuvre PDF

331 Pages·2015·34.45 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Les bases de données NoSQL et le Big Data : Comprendre et mettre en oeuvre

Les bases de données N o s L Big Data . . . , et lie Comprendre et mettre en oeuvre Rudi Bruchez L Les bases de données .-a;.nfr1$ N S ~ D ~ Big Data et le R. Bruchez Consultant informatique Des bases pour la performance et le Big Data indépendant, Rudi Brochez En q.ielques années, le vok.Jme des damées trassées par les Bltreprises a oonsidérablerrelt aigrrelté. Ëmanant de est expert en bases de sources d~B"ses (transactions, ocmportements, résewx sociaux, géolocalisation .. J. elles sont soownt structurées vdionngnté aenss d (ecpeuritsif ipcaretisoqnuse a.it.otr d'lll seul point d'entrée, la clé, et susceptibles de aoitre très rapidemB'lt. ttltant de cêl'actiJ'istiques qui les IVK:DBA et MCllP). Il rendent très difficiles â traiter avec des outils classiques de gesticn de dannées. Pël' ailletrs, fana~se de grands assl.l"e conseil, réalisation, volt.mes de damées, ce "'"" appelle le Big Data, défie également les motelJ's de bases de damées IJ'aditiomels. expertise et formation C'est pwr réjlondre a ces différentes problématiqœs qJe sont nées les bases de damées NoSOL !Not On/y SOLI. pour la modélisation, sous fiffi11Jlsim de grands acteurs du Web oorrrne Faceboct ou Google, qui les avaient développées â l'origine potr l'administration et letrs besoins propres. Grâce â letr flexibilité et leur souplesse, ces bases nm relaticrmelles pemlettent oo effet l'optimisation des serveurs de gérer de g-os volt.mes de dcrmées hétérogBles sur un oosemble de sel'\eurs de stockage distribués, avec ooe et du code SQL, ainsi que capacité de mcritée Bl durge très élevée. Elles peuvoot aissi fat.mir des acc::ès de paires clê·wletr en rrénoire avec des services autour de SQL lfle très grande célfsité. RéseJVées jJsqu'à peu â ooe milorité, elles tendB'lt wjot.rdh.li â se poser en oomplÉITlent Server et des solutions NoSQL. Il est l'auteur du modèle relaticrmel qui damnait le marché depuis pkJs de 30 ais. ou coautet.r de plusieurs Du choix de la base NoSQL à sa mise en œuvre ouvrages francais et anglais sur SQL Server et SQL, Cet ouvrage d'me grande clarté dresse m pan1rama complet des bases de damées NoOOL. en aialysant en toute dont Optimiser SOL Server noobnje crteWlaittéio lmeterlsle asv é: llitnatgeerfsa ceet inavceacl\ élen iecondtse. OcléiBllslt ,u naer cphrietemcièture'e p dairStiIeJ'.i biul éjreé, speanrtaed ilegsm !eJ 'éMlladpsR i:erdiluccipee, se dtce. cIel sd ébtaasielles (éd~ions Dunod) et SOL ensuite délls une deuxième partie les prilcipales solutioos existantes (les solutioos de Big Data autotr de Hadoop, (éd~ions Pearson). Mon!J)DB. Cassaidra, Cwc:llbase S..-wr. .. l. en précisant spécificités. forces et faiblesses de chawne. Complétée pël' une étude de cas réel, la dfnlière pël'tie du livre est oonsacrée aJ déploiement ooncret de ces bases : dans quel cas passB' aJ NoSQL? quelle base adapter selon ses besoils? quelles doonées basculB' en NoSQL? carment mettre en place une telle base? ocmment la mainteni' et supB"visB' ses perfoJmances ? Au sommaire Ou11sr.a ai1ut.1 USf 11 DllNNhS No SOL? la SG1Drelltionnets1u Na6Gl • a'ève histoire des ~O •le systèrnedcmi"l!l'"lt: le modèle relaticrnel cf'Edgar Frai: c.odd • rémergenœ dJ Big Data et des bases NoSOt. • NoSC1. •nus Sil: qœl• clférfllœs? • les p-ilc:Jles dJ relatîomel en rega'd dJ NoSOt. • le t.r8"1S8cticrnel et la oohérenœ des dcrnées • la diai• tedu1iqœs du NoSCI. • ri'lterfaœ 8\EC le code client• ra-chitectu'e d istrbuée • le Big Data 8"18~ique • la sdiénm da do111és dansl• b118:1 NoSCI. •Schéma irllllicite • Pares clé·valar •!Bases <rîentées docunents ru oolcmes •Documents binai'es • Stoct.age dJ Big Data 8"18~ique • PA.NlllAIU DlS PfUNCIPUIS BASfS Dl HNN(IS NoSOL. Mldoop et lllue • nstallatîonetarchitectu'e •Le lig Dai1:1 •âJtiqœ • Sqoopet HNe •Apache Spart• Coudilll etCoudib. . Sawr • Mise en œwre • Monplll • Mise en ŒlNre et acrni'listratÎCll • llilk • Mise en œun et acrni'listratÎCll • Aedis • Mise en œl.M'e • Cuun ... • Ca-actéristiques dJ mota.r • Mise en ŒlNre • Autr. bue:s • ElasticSea"ch • Bases de dcn'lé.es <rientées gr~e • MnTRl l.N ŒUVll uta USl No SOL. • luand Il• •rs le NoSCI. et qœle b. . cl9ilir? • Mettre ai place une sald:ion NoSCI. • Architectu'e et moclélisatOO • Oloisi' fa-chitecttre matérielle• Mettre en place la sokJtim et i'npcrter les dcn'lé.es • Exemples de développements • Mlirtenir et sqien1iser u,. bae NoSCI. • Réaliser des tests de charge • SUpervisioo avec les cuits LW, les cuils iltégrés ru Ganglia • !tude de cas: le NoSCI. ch• sa.,.-ock • le développement de sokJtOOs en i'lte.me • UtilisatOO de Redis • les ~plîcatîcns mcbiles : Smax. A qui s'adresse cet ouvrage ? - Aux experts en bases de damées, ël'dlitectes logiciels, déveloRJetrs ... - Aux chefs de iroiet qui s'ilterrogBlt sur le passage ai NoOOL ww•v.edltlons-eyrolles.com -E-Y-R-O-L-LE--S- Les bases de données N o s Big Data ~ et le Comprendre et mettre en oeuvre Rudi Bruchez EYROLLES ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Du MËME AUTEUR C. Sourou, P. BROUARD, N.SOUQue-ret R. B1zoï- :PUSQLpour Oracle 12c. D. BARBARIN. -SQLServer 2(1L4. N°14055, 2014, 340 page.,. N°13592, 2015, 890 page.,. C. P1ERRe. De. Ge.veR el G. PoNÇON - C. Sourou. - Programmer awc MySQL Mémento PHP et SQL (3• édition). (3' édition). N°13602, 2014, 14 page.,. N°13719, 2013,520 page.,. R. B1zoï - Oracle llg- Administration. C. Sourou. - Modélisation de bases de N°12899, 2011,600 pah"'·'· données (3' édition). N°14206, 2015, 352 page.,. À paraître. R. B1zoï- Oracle llg-Sauwgarde et restaurati(m. C. Sourou. -SQL pour Oracle \1' édilicm). N°12899, 2011,432 pah"'·'· N°14156, 2015,666 page.,. G. BRIARD - Oracle IOg sous Windo ..s . R. B1zoï - Oracle Uc- Administration. N° 11707, 2006, 846 pah"'·'. N° 14056, 20 14, 564 page.,. R. B1zoï- SQLpour Oracle IOg. R. B1zoï - Oracle Uc- Sauveg;arde et N°12055, 2006, 650 page.,. restauration. N° 14057, 20 14, 3 36 page.,. G. BRIARD - Oracle IOg sous Windo ..s . N° 11707, 2006, 846 pah"'·'. R. B1zoï -SQL pour Oracle 12.c. N°l4054, 2014,416 page.,. G. BR1ARD- 0rade-9isous Linux. N°11337, 2003, 894 pah"'·'· En application de la loi du 11mars1957,il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que œ soit, sans l'autorisation de !'Éditeur ou du Centre Français d'exploitation du droit de copie, 20, rue des Grands Augustins, 75006 Paris. ©Groupe Eyrolles,2013,2015,ISBN: 978-2-212-14155-9 Table des matières AVANT-PROPOS ........................................................ . Un ouvrage impartial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 À propos des exemples de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 À propos de la deuxième édition ... __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 . . . . . . . 1.0 Les règles de Codd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.0 DeOLTP àOLAP....... .. . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . LI L'émergence du Big Data et des bases NoSQL ... __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1.3 Hadoop, une implémentation de MapReduce. . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 BigTable, encore Google ! ................... _ _ _ _ _ _ __ _ _ _ _ _ _ __ _ _ _ _ _ _ _ 1.5 I.:influence d'Amazon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Les évolutions du Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L7 Le mouvement NoSQL est-il une avancée'? ... _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ __ _ _ _ _ _ _ _ 1.8 La nébuleuse NoSQL............................................... L9 Tentatives de classement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L9 Peut-on trouver des points communs entre les moteurs NoSQL '? . . . . . . . . . . . 22 CHAPITRE2 NoSQL versus SQL: quelles différences?. . . . . . . . . . . . . . . . . . . . . . . . . 25 Les principes du relationnel en regard du NoSQL. . . . . . . . . . . . . . . . . . . . . . 25 •1• Les bases de données NoSQL et le Big Data Les structures de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 La modélisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Le langage SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Méfiez-vous des comparaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Le défaut d'impédance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Les NULL. _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Le transactionnel et la cohérence des données . . . . . . . . . . . . . . . . . . . . . . . . . 39 Distribution synchrone ou asynchrone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Le théorème CAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Journalisation et durabilité de la transaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Big Data et décisionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 CHAPITRE3 Les choix techniques du NoSQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 L'interface avec le code client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Les fonctionnalités serveur.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Les protocoles d'accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 L'architecture distribuée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 La distribution avec maître.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 La distribution sans maître.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 La cohérence finale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Le Big Data analytique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Le paradigme MapReduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Lisp et les langages fonctionnels............... . . . . . . . . . . . . . . . . . . . . . . 99 Le functionnement d'Hadoop MapReduce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Hadoop2YARN........ .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . . 102 Le Big Data interactif....................... . . . . . . . . . . . . . . . . . . . . . . 104 CHAPITRE4 Les schémas de données dans les bases NoSQL.. . . . . . . . . . . . . . . . 107 Le schéma implicite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Une approche non relationnelle.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Les paires clé-valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Les entrepôts clé-valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Les bases orientées documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 JSON ..... _.................................................... 115 Les bases orientées colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Les document~ binaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Le stockage du Big Data analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Les contraintes de stockage pour Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Le SequenceFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 --· Table des matières ji Le RCFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 I.:ORC File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 m ~~-······················································· DEUXIÈME PARTIE Panorama des principales bases de données NoSQL 121 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 CHAPITRES Hadoop et HBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Hadoop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 n7 Tester l'exécution d'Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HBase........................... .. . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . 142 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Installation en mode standalone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Mise en œuvre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 CHAPITRES Le Big Data Analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Sqoop et H ive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J 50 Importer tes données avec Apache Sqoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Importer tes tables dans Hive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Gérer les données avec Apache Hue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . J5 6 Apache Spark. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Caractéristiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 CHAPITRE? CouchDB et Couchbase Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Présentation de CouchDB........................................... 161 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Mise en œuvrede CouchDB........ .. . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . 162 Utilisation de Futon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Utilisation de l'API REST.......................................... 165 Utilisation de l'API REST dans Je code client . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Fonctionnalités du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Programmation client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Présentation de Couchbase Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Caractéristiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 w11p Les bases de données NoSQL et le Big Data Fonctionnalités CouchDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Interface d'administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Accès à Couchbase Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 NIQL. .... _.................................................... 182 CHAPITRES MongoDB ...... _. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Présentation . _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Mise en œuvre.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 J.:invite interactive.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Programmation client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Sécurité ... _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Montée en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 CHAPITRE9 Riak ............ _.................................................... 203 Mise en œuvre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Utilisation de l'API REST.......................................... 205 Programmation client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Configuration du nœud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 CHAPITRE 10 Redis................................................................ 211 Présentation . _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Les types de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Mise en œuvre.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Installation. _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Utilisation de redis-cli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Exemples d'applications clientes..................................... 216 Maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Conclusion. .. _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 CHAPITRE 11 Cassandra ..... _. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Caractéristiques du moteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Modèle de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Stockage .. _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 @f# Table des matières Mise en œuvre............ .. . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . 226 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 L'API Thrift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Gestion de la cohérence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Programmation client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Nodetool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 CHAPITRE 12 Les autres bases de données de la mouvance NoSQL. . . . . . . . . . . . 235 ElasticSearC:h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Mise en œuvre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Les bases de données orientées graphes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Neo4j.......................................................... 242 TROISIÈME PARTIE Mettre en œuvre une base NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 CHAPITRE 13 Quand aller vers le NoSQL et quelle base choisir?. . . . . . . . . . . . . . . . 249 Aller ou non \"ers le NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Les avantages des moteurs relationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Que doit-on stocker?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 La difrerence d'approche avec le relationnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Le problème des compétences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Quels sont les besoins transactionnels'? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Résumé des cas d'utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Quelle base choisir'!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 En résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 CHAPITRE 14 Mettre en place une solution NoSQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Architecture et modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Stocker du XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Conception pilotée par le domaine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 La cohérence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Design patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Choisir l'arC:hitecture matérielle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Évaluer les besoins en mémoire de Redis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Évaluer les besoins disque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Les bases de données NoSQL et le Big Data Mettre en place la solution et importer les données. . . . . . . . . . . . . . . . . . . . . 278 Déploiement distribué. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Outils de gestion de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Importer les données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Importer du XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Exemples de développements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 CHAPITRE 15 Maintenir et superviser ses bases NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . 289 Réaliser des tests de charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Redis ..... _.............................. . . . . . . . . . . . . . . . . . . . . . . 290 Cassandra . _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Tests génériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Supervision avec les outils Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 La commande iostat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 La commande pidstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 La commande sar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Supervision avec les outils intégrés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 MongoDB . _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Cassandra . _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Redis.......................................................... 300 Supervision avec Ganglia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Installer Ganglia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Ajouter des modules Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 CHAPITRE 16 Étude de cas: le NoSQL chez Skyrock............................. 305 Le développement de solutions en interne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Topy ...... _.................................................... 307 Flux y ..... _.............................. . . . . . . . . . . . . . . . . . . . . . . 307 L'utilisation de Redis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Tester la charge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Contourner les problèmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Utiliser Redi.s pour le traitement d'images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Les applications mobiles: Smax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Exemple de requêtes géographiques dans MongoD!B. . . . . . . . . . . . . . . . . . . . . 315 CONCLUSION Comment se présente le futur?.................................... 317 INDEX................................................................. 319

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.