SVEUČILIŠTE U RIJECI
FAKULTET INFORMATIKE I DIGITALNIH TEHNOLOGIJA
Ulica Radmile Matejčić 2, Rijeka
Akademska godina 2022./2023.
INFRASTRUKTURA ZA PODATKE VELIKOG OBUJMA
OSNOVNI PODACI O PREDMETU
Naziv predmeta: Infrastruktura za podatke velikog obujma
Studijski program: Sveučilišni diplomski studij Informatika
Status predmeta: obvezatan za modul IIS/izborni
Semestar: 1.
Bodovna vrijednost i način izvođenja nastave:
- ECTS koeficijent opterećenosti studenata: 6
- Broj sati (P+V+S): 30+30+0
Nositelj predmeta: doc. dr. sc. Vedran Miletić
E-mail: vmiletic@inf.uniri.hr
Ured: O-520
Vrijeme konzultacija: Srijedom od 14:00 do 16:00 uz prethodni dogovor e-mailom
Asistent:
E-mail:
Ured:
Vrijeme konzultacija:
DETALJNI OPIS PREDMETA
Ciljevi predmeta
Cilj je predmeta usvajanje znanja o infrastrukturi u pozadini aplikacija i usluga inteligentnih informacijskih sustava koji rade s podacima velikog obujma te stjecanje vještina implementacije i održavanja takve infrastrukture u računalnom oblaku.
Uvjeti za upis predmeta
Nema uvjeta za upis predmeta.
Očekivani ishodi učenja za predmet
Očekuje se da će nakon uspješno ispunjenih svih programom predviđenih obveza na predmetu student biti sposoban:
I1. Odabrati distribuirane arhitekture za rad s podacima velikog obujma (npr. lambda, kappa, delta i sl.) i odgovarajuće alate za takve arhitekture.
I2. Predvidjeti potrebe inteligentnog informacijskog sustava za infrastrukturom u oblaku uz povezivanje na odgovarajuća sučelja repozitorija podataka, informacija i znanja s pripadnim metapodacima.
I3. Oblikovati model upravljanja podacima, koordinacije, razmjene poruka i interakcije u inteligentnom informacijskom sustavu koristeći odgovarajuće metode i tehnike (npr. distribuirane baze podataka, sustavi za predmemoriju, sustavi razmjene poruka, sustavi strujanja podataka i sl.) te pripadni model distribuirane baze podataka koristeći odgovarajuće jezike za modeliranje podataka i uzimajući u obzir specifičnosti arhitekture sustava.
I4. Preporučiti tehnologije za implementaciju integracije podataka, informacija i znanja iz heterogenih i distribuiranih podatkovnih sustava koje zadovoljavaju zahtjeve postavljenog problema.
I5. Odabrati odgovarajući skup tehnologija u oblaku (npr. monolitne i mikrouslužne arhitekture, kontejneri, virtualni strojevi i sl.) za implementaciju inteligentnog informacijskog sustava.
I6. Razviti inteligentne usluge u oblaku temeljene na analitici podataka i umjetnoj inteligenciji te pripadna sučelja i odgovarajuću dokumentaciju.
I7. Razviti komponente inteligentnih informacijskih sustava i pripadne procedure automatiziranog testiranja koristeći platforme, biblioteke, okvire i usluge u oblaku kao infrastrukturu.
I8. Implementirati inteligentnog agenta koji rješava postavljeni problem koristeći zadana sučelja, usluge, aplikacije, mehanizame interakcije i vrste ponašanja prikladne za postavljeni problem te agentni model sustava koji će se iskoristiti za simulaciju ponašanja sustava.
Sadržaj predmeta
Sadržaj predmeta čine teme:
- Pouzdanost, skalabilnost i održivost aplikacija. Podatkovni modeli. Pohrana i dohvaćanje podataka. Kodiranje podataka za pohranu i slanje.
- Replikacija i particioniranje podataka. Transakcije. Izazovi distribuiranih sustava: pogreške, nepouzdanost, garancija konzistentnosti i konsenzus.
- Razvoj i implementacija oblaku urođenih aplikacija. Operacije nad podacima u oblaku. Prenosivost između različitih oblaka. Evolucija monolitnih aplikacija u mikrouslužne.
- Infrastruktura i usluge za serijsku i tokovnu obradu podataka. Potporne usluge inteligentnog informacijskog sustava i agenta.
- Tehnološki trendovi i budućnost sustava za obradu podataka velikog obujma.
Vrsta izvođenja nastave
- predavanja
- seminari i radionice
- vježbe
- obrazovanje na daljinu
- terenska nastava
- samostalni zadaci
- multimedija i mreža
- laboratorij
- mentorski rad
- ostalo _______
Komentari
Nastava će se izvoditi kombinirajući rad u učionici i samostalni rad izvan učionice, uz korištenje sustava za e-učenje.
Obavezna literatura (u trenutku prijave prijedloga studijskog programa)
- Takada, M. Distributed systems: for fun and profit. (Mixu, 2013). Dostupno online: book.mixu.net/distsys/
- Beyer, B., Jones, C., Petoff, J. & Murphy, N. R. Site Reliability Engineering: How Google Runs Production Systems. Dostupno online: sre.google/sre-book/table-of-contents/
- Kleppmann, M. Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. (O'Reilly Media, 2017).
- Scholl, B., Swanson, T. & Jausovec, P. Cloud Native: Using Containers, Functions, and Data to Build Next-Generation Applications. (O'Reilly Media, 2019).
- Aspnes, J. Notes on Theory of Distributed Systems. (Aspnes, 2021). Dostupno online: cs-www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf
- Sadržaji pripremljeni za učenje putem sustava za učenje.
Dopunska literatura (u trenutku prijave prijedloga studijskog programa)
- Raman, A., Hoder, C., Bisson, S. & Branscombe, M. Azure AI Services at Scale for Cloud, Mobile, and Edge: Building Intelligent Apps with Azure Cognitive Services and Machine Learning. (O'Reilly Media, 2022).
- Fregly, C. & Barth, A. Data Science on AWS: Implementing End-to-End, Continuous AI and Machine Learning Pipelines. (O'Reilly Media, 2021).
- Winder, P. Reinforcement Learning: Industrial Applications of Intelligent Agents. (O'Reilly Media, 2020).
- Adkins, H., Beyer, B., Blankinship, P., Oprea, A., Lewandowski, P. & Stubblefield, A. Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems. (O'Reilly Media, 2020). Dostupno online: sre.google/static/pdf/building_secure_and_reliable_systems.pdf
- Reznik, P., Dobson, J. & Glenow, M. Cloud Native Transformation: Practical Patterns for Innovation. (O'Reilly Media, 2019).
- Arundel, J. & Domingus, J. Cloud Native DevOps with Kubernetes: Building, Deploying, and Scaling Modern Applications in the Cloud. (O'Reilly Media, 2019).
- Newman, S. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. (O'Reilly Media, 2019).
- Sridharan, C. Distributed Systems Observability. (O'Reilly Media, 2018).
- Burns, B. Designing Distributed Systems. (O'Reilly Media, 2018).
- Beyer, B., Murphy, N. R., Rensin, D., Kawahara, K. & Thorne, S. The Site Reliability Workbook: Practical Ways to Implement SRE. (O'Reilly Media, 2018). Dostupno online: sre.google/workbook/table-of-contents/
Načini praćenja kvalitete koji osiguravaju stjecanje izlaznih znanja, vještina i kompetencija
Predviđa se periodičko provođenje evaluacije s ciljem osiguranja i kontinuiranog unapređenja kvalitete nastave i studijskog programa (u okviru aktivnosti Odbora za upravljanje i unapređenje kvalitete Fakulteta informatike i digitalnih tehnologija). U zadnjem tjednu nastave provodit će se anonimna evaluacija kvalitete održane nastave od strane studenata. Provest će se i analiza uspješnosti studenata na predmetu (postotak studenata koji su položili predmet i prosjek njihovih ocjena).
Mogućnost izvođenja na stranom jeziku
Nema.
OBVEZE, PRAĆENJE RADA I VREDNOVANJE STUDENATA
VRSTA AKTIVNOSTI | ECTS | ECTS -- PRAKTIČNI RAD | ISHODI UČENJA | SPECIFIČNA AKTIVNOST | METODA PROCJENJIVANJA | BODOVI MAX. |
---|---|---|---|---|---|---|
Pohađanje nastave | 2 | 1 | I1--I8 | Prisutnost studenata i odgovaranje na pitanja nastavnika | Popisivanje (evidencija), Kahoot! | 0 |
Eksperimentalni rad | 1 | 1 | I1--I4 | Analiza različitih arhitektura za rad s podacima velikog obujma | Ovisno o stupnju točnosti i potpunosti | 20 |
Pismeni ispit | 1 | 0 | I1, I2, I4, I5 | Dva testa na Merlinu | Ovisno o stupnju točnosti i potpunosti | 30 |
Praktični rad | 1 | 1 | I5--I8 | Odabir tehnologija u oblaku, razvoj usluge sa sučeljima i pisanje dokumentacije | Ovisno o stupnju točnosti i potpunosti | 20 |
Završni ispit | 1 | 0,5 | I5--I8 | Usmeni ispit | Ovisno o stupnju točnosti i potpunosti | 30 |
UKUPNO | 6 | 3,5 | 100 |
Obveze i vrednovanje studenata
1. Pohađanje nastave
Nastava se odvija prema mješovitom modelu u kombinaciji klasične nastave u učionici i online nastave uz pomoć sustava za e-učenje prema rasporedu koji je prikazan je tablicom u nastavku. Studenti su dužni koristiti sustav za e-učenje Merlin (moodle.srce.hr/2022-2023/) gdje će se objavljivati informacije o predmetu, materijali za učenje, zadaci za vježbu, zadaci za domaće zadaće te obavijesti vezane za izvođenje nastave (putem foruma Obavijesti).
Studenti su dužni redovito pohađati nastavu, aktivno sudjelovati tijekom nastave te izvršavati aktivnosti predmeta u okviru sustava Merlin koje će nastavnici najavljivati putem foruma.
2. Eksperimentalni rad
Student će raditi s različitim arhitekturama za obradu podataka velikog obujma i odgovarajućima alatima s ciljem prikupljanja analitičkih metrika nužnih za predviđanje potreba za infrastrukturom od strane inteligentnog informacijskog sustava temeljenog na toj arhitekturi. U skladu s predviđenom infrastruktrom student će oblikovati model upravljanja podacima, koordinacije, razmjene poruka i interakcije te preporučiti tehnologije za implementaciju heterogenog i distribuiranog podatkovnog sustava. Na ovaj način student će moći skupiti maksimalno 20 bodova.
Za stjecanje prava pristupa završnom ispitu potrebno je ostvariti barem 50% od maksimalnog broja bodova na eksperimentalnom radu.
3. Pismeni ispit
Tijekom semestra pisat će se pisat će se dva testa na Merlinu koja će uključivati pitanja iz gradiva predavanja i na svakom od njih će student moći skupiti maksimalno po 15 bodova, ukupno maksimalno 30 bodova.
3. Praktični rad
Student će odabrati odgovarajući skup tehnologija u oblaku i iskoristiti ga za razvoj komponente inteligentnog informacijskog sustava temeljene na analitici podataka ili umjetnoj inteligenciji te pripadnih sučelja, uz odgovarajuću dokumentaciju. U okviru razvoja implementirat će i procedure automatiziranog testiranja usluge u oblaku koristeći odgovarajuće tehnologije. Na ovaj način student će moći skupiti maksimalno 20 bodova.
Za stjecanje prava pristupa završnom ispitu potrebno je ostvariti barem 50% od maksimalnog broja bodova na praktičnom radu.
4. Završni ispit
Na završnom ispitu će biti organizirana obrana eksperimentalnog rada i praktičnog rada usmenim putem uz popratno ispitivanje znanja iz gradiva predavanja. Na taj način studenti će moći ostvariti do 30 bodova.
Završni ispit se smatra položenim samo ako na njemu student postigne minimalno 50%-tni uspjeh (ispitni prag je 50% uspješno riješenih zadataka).
Ocjenjivanje
Kontinuiranim radom tijekom semestra na prethodno opisani način studenti mogu ostvariti najviše 70 ocjenskih bodova, a da bi mogli pristupiti završnom ispitu moraju ostvarili 50% i više bodova (minimalno 35) te zadovoljiti ostale postavljene kriterije.
Studenti koji su skupili najmanje 35 ocjenskih bodova i zadovoljiti ostale postavljene kriterije, mogu pristupiti završnom ispitu.
Ukoliko je završni ispit prolazan, skupljeni bodovi će se pribrojati prethodnima i prema ukupnom rezultatu formirati će se pripadajuća ocjena. U suprotnom, student ima pravo pristupa završnom ispitu još 2 puta (ukupno do 3 puta).
Konačna ocjena
Donosi se na osnovu zbroja svih bodova prikupljenih tijekom izvođenja nastave prema sljedećoj skali:
- A -- 90%--100% (ekvivalent: izvrstan 5)
- B -- 75%--89,9% (ekvivalent: vrlo dobar 4)
- C -- 60%--74,9% (ekvivalent: dobar 3)
- D -- 50%--59,9% (ekvivalent: dovoljan 2)
- F -- 0%--49,9% (ekvivalent: nedovoljan 1)
Ispitni rokovi
Redoviti:
- 13. veljače 2023.
- 27. veljače 2023.
Izvanredni:
- 27. ožujka 2023.
- 11. rujna 2023.
RASPORED NASTAVE -- zimski (1.) semestar ak. god. 2022./2023.
Nastava će se na predmetu odvijati u zimskom semestru prema sljedećem rasporedu:
- predavanja: ponedjeljkom od 14:00 do 15:30 u O-S32 i online
- vježbe: ponedjeljkom od 16:00 do 17:30 u O-366 i online
Tj. | Datum | Vrijeme | Prostor | Tema | Nastava | Izvođač |
---|---|---|---|---|---|---|
2. | 10. 10. 2022. | 14:00--15:30 | O-S32 | Uvodne informacije o kolegiju. Pouzdanost, skalabilnost i održivost aplikacija. Podatkovni modeli | P1 | doc. dr. sc. Vedran Miletić |
2. | 10. 10. 2022. | 16:00--17:30 | O-366 | Primjena virtualnih strojeva i kontejnera: pokretanje, zaustavljanje, umrežavanje, dozvole i izrada slika | V1 | doc. dr. sc. Vedran Miletić |
3. | 17. 10. 2022. | 14:00--15:30 | O-S32 | Replikacija i particioniranje podataka | P2 | doc. dr. sc. Vedran Miletić |
3. | 17. 10. 2022. | 16:00--17:30 | O-366 | Postavljanje usluge MongoDB | V2 | doc. dr. sc. Vedran Miletić |
3. | 22. 10. 2022. | 10:00--11:30 | online | Pohrana i dohvaćanje podataka. Kodiranje podataka za pohranu i slanje | P3 | doc. dr. sc. Vedran Miletić |
3. | 22. 10. 2022. | 12:00--13:30 | online | Postavljanje usluge Neo4j | V3 | doc. dr. sc. Vedran Miletić |
4. | 24. 10. 2022. | 14:00--15:30 | O-S32 | Transakcije | P4 | doc. dr. sc. Vedran Miletić |
4. | 24. 10. 2022. | 16:00--17:30 | O-366 | Postavljanje stoga Logstash, Elasticsearch i Kibana | V4 | doc. dr. sc. Vedran Miletić |
6. | 7. 11. 2022. | 14:00--15:30 | O-S32 | Izazovi distribuiranih sustava: pogreške, nepouzdanost | P5 | doc. dr. sc. Vedran Miletić |
6. | 7. 11. 2022. | 16:00--17:30 | O-366 | Primjene stoga Logstash, Elasticsearch i Kibana | V5 | doc. dr. sc. Vedran Miletić |
7. | 14. 11. 2022. | 14:00--15:30 | O-S32 | Izazovi distribuiranih sustava: garancija konzistentnosti i konsenzus | P6 | doc. dr. sc. Vedran Miletić |
7. | 14. 11. 2022. | 16:00--17:30 | O-366 | Postavljanje usluga ZooKeeper i Kafka | V6 | doc. dr. sc. Vedran Miletić |
8. | 21. 11. 2022. | 14:00--15:30 | O-S32 | 1. test na Merlinu | P7 | doc. dr. sc. Vedran Miletić |
8. | 21. 11. 2022. | 16:00--17:30 | O-366 | Postavljanje usluge Airflow | V7 | doc. dr. sc. Vedran Miletić |
9. | 28. 11. 2022. | 14:00--15:30 | O-S32 | Razvoj i implementacija oblaku urođenih aplikacija. Rad s podacima u oblaku | P8 | doc. dr. sc. Vedran Miletić |
9. | 28. 11. 2022. | 16:00--17:30 | O-366 | Postavljanje usluge Cassandra | V8 | doc. dr. sc. Vedran Miletić |
10. | 5. 12. 2022. | 14:00--15:30 | O-S32 | DevOps i najbolje prakse. Prenosivost između različitih oblaka | P9 | doc. dr. sc. Vedran Miletić |
10. | 5. 12. 2022. | 16:00--17:30 | O-366 | Postavljanje usluge Spark. Rok za odabir teme eksperimentalnog rada | V9 | doc. dr. sc. Vedran Miletić |
11. | 12. 12. 2022. | 14:00--15:30 | O-S32 | Evolucija monolitnih aplikacija u mikrouslužne: planiranje | P10 | doc. dr. sc. Vedran Miletić |
11. | 12. 12. 2022. | 16:00--17:30 | O-366 | Postavljanje usluga Containerd i CoreDNS | V10 | doc. dr. sc. Vedran Miletić |
12. | 19. 12. 2022. | 14:00--15:30 | O-S32 | Evolucija monolitnih aplikacija u mikrouslužne: izvedba | P11 | doc. dr. sc. Vedran Miletić |
12. | 19. 12. 2022. | 16:00--17:30 | O-366 | Postavljanje usluga Envoy, etcd i Istio/Kong | V11 | doc. dr. sc. Vedran Miletić |
13. | 9. 1. 2023. | 14:00--15:30 | O-S32 | Infrastruktura i usluge za serijsku i tokovnu obradu podataka u oblaku | P12 | doc. dr. sc. Vedran Miletić |
13. | 9. 1. 2023. | 16:00--17:30 | O-366 | Postavljanje usluga Fluentd i Jaeger | V12 | doc. dr. sc. Vedran Miletić |
14. | 16. 1. 2023. | 14:00--15:30 | O-S32 | Potporne usluge inteligentnog informacijskog sustava u oblaku | P13 | doc. dr. sc. Vedran Miletić |
14. | 16. 1. 2023. | 16:00--17:30 | O-366 | Postavljanje usluga Kubernetes, Linkerd i OPA. Rok za odabir teme praktičnog rada | V13 | doc. dr. sc. Vedran Miletić |
15. | 23. 1. 2023. | 14:00--15:30 | O-S32 | 2. test na Merlinu | P14 | doc. dr. sc. Vedran Miletić |
15. | 23. 1. 2023. | 16:00--17:30 | O-366 | Postavljanje usluga Prometheus i TUF/Notary | V14 | doc. dr. sc. Vedran Miletić |
16. | 30. 1. 2023. | 14:00--15:30 | O-S32 | Budućnost sustava za obradu podataka velikog obujma | P15 | doc. dr. sc. Vedran Miletić |
16. | 30. 1. 2023. | 16:00--17:30 | O-366 | Postavljanje usluga Rook i Vitess | V15 | doc. dr. sc. Vedran Miletić |
P -- predavanja
V -- vježbe
Napomena: Moguće su izmjene rasporeda nastave. Za nove verzije rasporeda potrebno je pratiti obavijesti u e-kolegiju.