Abstract | NoSQL ili nerelacijska baza podataka termin je koji se koristi za baze podataka koje su najbolji izbor za velike, web aplikacije gdje je potrebna veća skalabilnost i brzina. Zbog napretka razvoja i korištenja web aplikacija potrebno je pružiti usluge milijardama korisnika i uređaja kao što su pametni mobiteli, tableti, internet TV-i te ostali pametni uređaji. Za razliku od relacijskih baza podataka koje pohranjuju strukturirane podatke u tablice gdje postoje stupci i reci te se među njima postavljaju veze, nerelacijske baze rješavaju problem konzistentnosti. Ne baziraju se na tablicama i vezama među njima tj. na pravilima RDMS-a, što je kratica za sustav za upravljanje relacijskim bazama podataka. Web aplikacije bile bi užasno spore ukoliko bi pratile samo ACID transakcije koje im taj sustav nalaže. Stoga je bitno da svaki zahtjev garantira odgovorom, bio on uspješan ili ne, da se stanje sustava može mijenjati s vremenom bez ikakvog unosa oslanjajući se na posljednje dostupne podatke te da je baza eventualno konzistentna tj. da će sustav biti konzistentan s vremenom [3].
Postoje četiri vrste nerelacijskih baza podataka, a to su dokumentne, stupčane, ključvrijednost i graf NoSQL baze podataka. S obzirom na više vrsta postoji više baza podataka koje se mogu koristit poput MongoDB, Oracle NoSQL Database, Google Firebase, CouchDB, Cassandra itd.
Jedna od baza podataka koje je korištena u ovom završnom radu je Oracle NoSQL Database. Oracle nudi svoju besplatnu uslugu Oracle NoSQL Database Cloud Service kako bi korisnici mogli spojiti svoje aplikacije na Oracle Cloud gdje mogu izraditi i upravljati bazom. Oracle nudi ključ-vrijednost nerelacijske baze podataka [5]. Nakon registracije na Oracle službenim stranicama korisnik je u mogućnosti vrlo jednostavno izrađivati bazu podataka koja mu je potrebna. Oracle NoSQL Database primjenjuje se u raznim poljima poput svijeta video igara, IoT-a, mobilnih aplikacija, otkrivanja prijetnji u stvarnom vremenu itd. Neke od prednosti su što developeri nemaju potrebu za administriranjem poslužiteljskih podataka, nudi jednostavne CRUD upite, podržava modeliranje na JSON shemi i bez nje, Oracle izvodi upravljanje bazom podataka i pohranom podataka itd. [5] U ovom završnom radu na vlastitom primjeru tvrtke za iznajmljivanje vozila biti će prikazano kako upravljati Oracle bazom. Koristit će se jednostavni upiti za kreiranje, brisanje, ažuriranje i dohvaćanje podataka iz tablica. Također, prikazat će se i nekoliko složenijih upita. |