Preskoči na sadržaj

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)

  1. Takada, M. Distributed systems: for fun and profit. (Mixu, 2013). Dostupno online: book.mixu.net/distsys/
  2. 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/
  3. Kleppmann, M. Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. (O'Reilly Media, 2017).
  4. Scholl, B., Swanson, T. & Jausovec, P. Cloud Native: Using Containers, Functions, and Data to Build Next-Generation Applications. (O'Reilly Media, 2019).
  5. Aspnes, J. Notes on Theory of Distributed Systems. (Aspnes, 2021). Dostupno online: cs-www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf
  6. Sadržaji pripremljeni za učenje putem sustava za učenje.

Dopunska literatura (u trenutku prijave prijedloga studijskog programa)

  1. 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).
  2. Fregly, C. & Barth, A. Data Science on AWS: Implementing End-to-End, Continuous AI and Machine Learning Pipelines. (O'Reilly Media, 2021).
  3. Winder, P. Reinforcement Learning: Industrial Applications of Intelligent Agents. (O'Reilly Media, 2020).
  4. 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
  5. Reznik, P., Dobson, J. & Glenow, M. Cloud Native Transformation: Practical Patterns for Innovation. (O'Reilly Media, 2019).
  6. Arundel, J. & Domingus, J. Cloud Native DevOps with Kubernetes: Building, Deploying, and Scaling Modern Applications in the Cloud. (O'Reilly Media, 2019).
  7. Newman, S. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. (O'Reilly Media, 2019).
  8. Sridharan, C. Distributed Systems Observability. (O'Reilly Media, 2018).
  9. Burns, B. Designing Distributed Systems. (O'Reilly Media, 2018).
  10. 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.