Opis kursa
Ovaj kurs studentima pruža dubinsko znanje o naprednim tehnikama baza podataka i strukturama podataka koje se koriste u relacionim i NoSQL bazama podataka. Fokusira se na pisanje složenih SQL upita, razumijevanje kada treba koristiti relacijske ili nerelacijske baze podataka i upravljanje distribuiranim skladištem podataka za efikasnu paralelnu obradu u sistemima velikih razmjera. Kurs također istražuje metode za optimizaciju upita i osiguravanje konzistentnosti podataka u distribuiranim okruženjima.

Uz rastuće zahtjeve za upravljanje podacima visokih performansi, ovaj kurs upoznaje studente sa konceptima relevantnim za HPC i obradu podataka vođenu umjetnom inteligencijom. Teme kao što su indeksiranje podataka, particioniranje, replikacija i arhitektura distribuiranih baza podataka pomažu studentima da shvate kako efikasno skladištiti i preuzimati ogromne skupove podataka. Kurs također pokriva NoSQL rješenja, pružajući uvid u baze podataka ključ/vrijednost, dokumente, široke kolone i grafove, koje se široko koriste u AI aplikacijama, analitici velikih razmjera i obradi u realnom vremenu.
Sadržaj kursa (12 modula)
- Uvod u napredne baze podataka – Pregled relacionih i NoSQL baza podataka, razmatranja skalabilnosti.
- Optimizacija SQL upita – Tehnike za poboljšanje performansi izvršenja upita i smanjenje računskih troškova.
- Strategije indeksiranja – Ubrzavanje pretraživanja baze podataka koristeći B-stabla, hash indekse i bitmap indekse.
- Particioniranje podataka – Tehnike za distribuciju velikih skupova podataka na više servera radi poboljšanja performansi.
- Replikacija podataka – Osiguravanje dostupnosti i konzistentnosti podataka u distribuiranim sistemima.
- Sigurnost i pouzdanost baze podataka – Kontrola pristupa, šifriranje, strategije sigurnosnog kopiranja i tolerancija grešaka.
- Distribuirane baze podataka – Arhitekture, sinhronizacija podataka i modeli konzistentnosti.
- Složene strukture podataka – Napredni relacioni modeli, hijerarhijske strukture i polustrukturirani podaci.
- Uvod u NoSQL baze podataka – Ključne karakteristike i poređenje sa relacionim bazama podataka.
- Baze podataka ključ-vrijednost i dokumenta – Rad sa Redis-om i MongoDB za brzu i fleksibilnu pohranu podataka.
- Baze podataka širokih kolona – Istraživanje Cassandre za rukovanje masivnim strukturiranim podacima.
- Graph Databases – Korišćenje Neo4j za upravljanje složenim odnosima i aplikacijama koje pokreće veštačka inteligencija.
Ishodi učenja
- Napišite i optimizirajte složene SQL upite za efikasno pronalaženje i obradu podataka.
- Razlikujte relacijske i NoSQL baze podataka i odredite njihove odgovarajuće slučajeve upotrebe.
- Implementirajte distribuirana rješenja za pohranu podataka za rukovanje velikim podacima i paralelnu obradu.
- Primijenite napredne tehnike indeksiranja, particioniranja i replikacije kako biste optimizirali performanse baze podataka.
- Radite sa NoSQL bazama podataka kao što su Redis, MongoDB, Cassandra i Neo4j za skalabilno upravljanje podacima.