NoSQL
Sadržaj
Uvod
Zaključak: Od fleksibilnog modela do pouzdanog sistema podataka
Prvi deo: Zašto NoSQL i kako drugačije mislimo o podacima
NoSQL baze podataka nastale su iz potrebe da se podaci čuvaju fleksibilnije, skaliraju šire i prilagode aplikacijama koje rade sa velikim količinama raznovrsnih informacija. Ovaj deo praktikuma uvodi osnovne razloge nastanka NoSQL sveta, razliku u odnosu na relacione baze i način razmišljanja u kome model podataka prati konkretan slučaj upotrebe.
I. Uvod u NoSQL
1. Šta je NoSQL – baze podataka izvan klasičnih tabela 2. Zašto je nastao NoSQL – web aplikacije, veliki podaci i brzina 3. Relacione i NoSQL baze – različiti alati za različite potrebe 4. Fleksibilna šema – kada struktura podataka nije unapred zaključana 5. Primeri iz prakse – korisnički profili, logovi, poruke i preporukeII. Osnovni pojmovi NoSQL sveta
6. Model podataka u NoSQL sistemima – od upotrebe ka strukturi 7. Kolekcije, dokumenti i ključevi – novi rečnik za podatke 8. Denormalizacija – namerno ponavljanje radi brzine 9. Upiti bez SQL-a – različiti jezici i API pristupi 10. Kada koristiti NoSQL – a kada ipak ostati uz relacione bazeIII. Dokument baze podataka
11. Dokument baze – podaci kao JSON dokumenti 12. Kolekcije i dokumenti – organizacija podataka u dokument modelu 13. Ugnježdeni podaci – kada jedan dokument nosi celu sliku 14. MongoDB osnove – prvi susret sa dokument bazom 15. Projektovanje dokument modela – šta staviti zajedno, a šta odvojitiIV. Key-value baze podataka
16. Key-value model – najjednostavniji oblik čuvanja podataka 17. Ključ i vrednost – direktan pristup podacima 18. Redis osnove – memorijska baza za brz rad 19. Keširanje – kako ubrzati aplikacije 20. Sesije, redovi i brojači – česti slučajevi upotrebeDrugi deo: Distribucija, grafovi i praktična upotreba NoSQL baza
NoSQL sistemi često se koriste kada podaci moraju da se rasporede kroz više servera, brzo čitaju i pišu, ili prikažu složene veze koje nisu zgodne za klasične tabele. Ovaj deo praktikuma uvodi kolonske baze, graf baze, osnovne pojmove distribucije, replikacije, skaliranja, konzistentnosti i praktičan izbor baze prema problemu koji rešavamo.
V. Kolonske baze podataka
21. Kolonske baze – podaci organizovani po kolonama i familijama kolona 22. Wide-column model – fleksibilne tabele za velike sisteme 23. Cassandra osnove – baza za distribuirane podatke 24. Particionisanje – kako se podaci raspoređuju kroz klaster 25. Upotreba kolonskih baza – logovi, metrike i vremenske serijeVI. Graf baze podataka
26. Graf baze – kada su veze važnije od redova i kolona 27. Čvorovi i veze – osnovni elementi grafa 28. Neo4j osnove – prvi susret sa graf bazom 29. Upiti nad grafom – pronalaženje odnosa i putanja 30. Preporuke, mreže i zavisnosti – gde graf baze posebno sijajuVII. Skaliranje, replikacija i konzistentnost
31. Horizontalno skaliranje – dodavanje servera umesto jačanja jednog 32. Replikacija – više kopija za dostupnost i sigurnost 33. Sharding – deljenje podataka na više čvorova 34. CAP teorema – konzistentnost, dostupnost i tolerancija particija 35. Eventualna konzistentnost – kada se sistem usklađuje vremenomVIII. Izbor NoSQL baze i praktični projekti
36. Kako izabrati NoSQL bazu – problem prvo, tehnologija posle 37. NoSQL i relacione baze zajedno – poliglotsko čuvanje podataka 38. Osnovna administracija – bekap, monitoring i bezbednost 39. Mini projekat – korisnički profili u dokument bazi 40. Mini projekat – mali sistem preporuka pomoću graf bazeZaključak: Od fleksibilnog modela do pouzdanog sistema podataka