U današnjem svijetu tehnologije, podaci su postali najvrjednija stvar na svijetu. Svaki put kada se prijavite na neku web stranicu, kupite nešto u online trgovini, pošaljete poruku prijatelju ili objavite sliku na društvenim mrežama, stvara se velika količina informacija. Sve te informacije moraju negdje biti sigurno spremljene, dobro organizirane i u svakom trenutku lako dostupne. Upravo u tome leži odgovor na pitanje što je MySQL.

MySQL je najpopularniji sustav na svijetu koji služi za upravljanje bazama podataka. Možete ga zamisliti kao digitalni ormar s ladicama u kojem je sve savršeno posloženo, tako da u svakom trenutku možete pronaći točno ono što vam treba u djeliću sekunde. Bez njega, moderni internet kakvog danas poznajemo jednostavno ne bi mogao funkcionirati.

U ovom članku ćemo na vrlo jednostavan način, bez teških stručnih izraza, objasniti sve što trebate znati o ovom programu, kako on radi, zašto je toliko popularan i zašto ga koriste najveće svjetske tvrtke.

Kako je MySQL nastao i tko ga posjeduje

Ovaj korisni program nastao je sredinom devedesetih godina, točnije 1995. godine u Švedskoj. Osmislila su ga trojica programera koji su željeli stvoriti sustav za rad s podacima koji će biti brži i lakši za korištenje od svega što je tada postojalo na tržištu.

Zanimljiva je priča o tome kako je program dobio ime. Suosnivač tvrtke, Michael Widenius, imao je kćer koja se zvala My. Odlučio je program nazvati po njoj, dok kratica SQL označava jezik pomoću kojeg ljudi i računala komuniciraju s bazom podataka. Tako je nastalo ime koje danas prepoznaje svaki programer na svijetu.

Tijekom godina, kako je MySQL rastao, kupovale su ga veće tvrtke. Danas je on u vlasništvu velike tehnološke korporacije Oracle. Unatoč tome što iza njega stoji velika korporacija, MySQL je i dalje ostao otvorenog koda. To znači da je potpuno besplatan za preuzimanje i korištenje svim ljudima diljem svijeta, što je jedan od glavnih razloga njegovog golemog uspjeha.

Što je zapravo baza podataka

Da bismo u potpunosti razumjeli što je MySQL, moramo prvo objasniti što je to baza podataka. Najjednostavnije rečeno, baza podataka je organizirana zbirka informacija koje su spremljene u računalu.

Možda ćete pomisliti da za spremanje podataka možemo koristiti obične tekstualne dokumente ili Excel tablice. To je točno za male količine informacija, poput popisa za kupnju. Međutim, kada imate posla s tisućama ili milijunima informacija, obični dokumenti postaju prespori i nepregledni.

Baze podataka omogućuju da se ogromne količine informacija pretražuju u trenu. One također paze da se podaci ne izgube ili ne oštete ako računalo iznenada ostane bez struje. MySQL je softver koji upravlja tim bazama, ponašajući se kao vrhunski organizirani knjižničar u golemoj knjižnici podataka.

Kako MySQL organizira podatke kroz tablice

MySQL spada u skupinu takozvanih relacijskih baza podataka. To zvuči komplicirano, ali je u praksi vrlo jednostavno. To znači da MySQL podatke sprema u tablice, koje izgledaju vrlo slično kao tablice u programu Microsoft Excel. Svaka se tablica sastoji od redaka i stupaca.

Zamislimo da vodite jednu online trgovinu odjećom. U MySQL-u nećete sve podatke staviti na jedno mjesto. Umjesto toga, napravit ćete nekoliko različitih tablica koje su međusobno povezane.

Prva tablica sadržavat će podatke o vašim kupcima, gdje svaki redak predstavlja jednog kupca, a stupci sadrže njegovo ime, prezime, adresu i broj telefona. Druga tablica sadržavat će popis proizvoda, gdje svaki redak predstavlja jedan artikl, a stupci sadrže naziv artikla, cijenu i dostupnu veličinu. Treća tablica služiti će za narudžbe i ona će povezivati kupca s proizvodom koji je kupio.

Zašto je povezivanje tablica važno

Ovakav način organizacije podataka u odvojene tablice iznimno je pametan jer štedi prostor i sprječava pogreške. Zamislite da svaki put kada isti kupac napravi novu narudžbu, vi morate ponovno upisivati njegovo ime, prezime i adresu u tablicu s narudžbama. To bi stvorilo ogroman nered i trošilo previše memorije računala.

Uz MySQL, u tablicu s narudžbama upisuje se samo jedinstveni broj kupca. Kada sustav treba prikazati račun, on automatski pogleda u tablicu s kupcima, pronađe tko je pod tim brojem i spoji njegove podatke s kupljenim artiklom.

Ovo povezivanje tablica naziva se relacija, i upravo zbog toga se ovi sustavi nazivaju relacijskim bazama podataka. Sve je povezano logičkim vezama, što omogućuje da sustav radi besprijekorno točno.

Kako izgleda komunikacija s MySQL-om

Računala i programi ne govore ljudskim jezikom, pa stoga s MySQL-om moramo komunicirati putem posebnog jezika koji se zove SQL. Nemojte se bojati ovog naziva, jer je taj jezik zapravo vrlo jednostavan i koristi obične engleske riječi.

Kada programer želi nešto saznati iz baze podataka, on napiše kratku naredbu. Na primjer, ako želi vidjeti sve kupce koji se zovu Ivan, naredba bi u prijevodu na ljudski jezik glasila otprilike ovako: “Izaberi sve informacije iz tablice Kupci gdje je ime jednako Ivan”.

MySQL primi tu naredbu, pretraži milijune redaka u svojoj tablici u djeliću sekunde i vrati točan popis na ekran računala. Postoje četiri osnovne stvari koje možete raditi s podacima: možete ih unositi, čitati, mijenjati ili brisati. Za svaku od tih radnji koristi se jedna jednostavna SQL naredba.

Princip rada klijenta i poslužitelja

MySQL radi na principu koji se u tehnologiji zove klijent-poslužitelj arhitektura. Da bismo to lakše razumjeli, poslužit ćemo se primjerom odlaska u restoran.

Poslužitelj (ili server) je glavno računalo na kojem se fizički nalaze sve tablice i podaci. To računalo radi bez prestanka i stalno čeka da mu netko pošalje zadatak. U našem primjeru s restoranom, poslužitelj je kuhinja koja priprema hranu.

Klijent je aplikacija ili program preko kojeg korisnik šalje zahtjeve. To može biti web stranica na vašem mobitelu ili računalu. U restoranu, klijent je gost koji naručuje jelo. Kada vi na svom mobitelu kliknete gumb “Kupi”, vaš mobitel (klijent) šalje poruku glavnom računalu (poslužitelju) na kojem se nalazi MySQL. MySQL obradi narudžbu, spremi je u bazu i javi mobitelu da je kupnja uspješno obavljena.

Podrška velike zajednice na internetu

Budući da je MySQL besplatan i postoji već jako dugo, oko njega se okupila ogromna zajednica ljudi. Milijuni programera diljem svijeta svakodnevno koriste ovaj program i pomažu jedni drugima.

Ako tijekom rada s MySQL-om naiđete na bilo kakav problem ili pogrešku, velika je vjerojatnost da je netko drugi već imao isti taj problem prije vas. Brzim pretraživanjem interneta možete pronaći tisuće besplatnih vodiča, videozapisa i rješenja za svaki mogući problem.

Također, gotovo svaka tvrtka koja nudi usluge smještaja web stranica (hosting) ima već ugrađen MySQL u svoje pakete. To znači da ne morate prolaziti kroz komplicirane postupke instalacije, već je sve spremno za rad čim zakupite prostor na internetu.

Tko sve koristi MySQL u stvarnom svijetu

Da biste shvatili pravu moć ovog sustava, dovoljno je pogledati popis tvrtki koje se oslanjaju na njega svakog dana. Najbolji primjer je WordPress, sustav na kojem je napravljeno više od 40% svih web stranica na cijelom internetu. Svaki WordPress blog, portal ili trgovina koristi upravo MySQL za spremanje svojih tekstova i lozinki.

Osim toga, tehnološki divovi poput Facebooka koriste MySQL za upravljanje golemim količinama podataka svojih korisnika. Kada vidite nečiji status ili komentar na Facebooku, taj podatak je najvjerojatnije povučen iz MySQL baze.

Platforme kao što su YouTube, Netflix, Airbnb i Uber također koriste MySQL u nekom dijelu svog poslovanja. To nam jasno pokazuje da je ovaj program sposoban izdržati najveća moguća opterećenja na svijetu.

Koje su mane i ograničenja MySQL-a

Niti jedan program na svijetu nije savršen, pa tako ni MySQL ima svoje nedostatke. Važno je znati kada on nije najbolji izbor za posao kako biste mogli odabrati pravi alat.

Glavni nedostatak MySQL-a pojavljuje se kada trebate raditi s podacima koji nemaju nikakvu jasnu strukturu. Kao što smo rekli, MySQL voli tablice, retke i stupce. Ako imate podatke koji se stalno mijenjaju, poput složenih dokumenata, video zapisa ili stalnih tekstualnih poruka s pametnih kućnih uređaja koji nemaju fiksni oblik, rad s tablicama postaje vrlo težak.

Također, iako je MySQL odličan za brzo čitanje i upisivanje podataka, on nije najbolji izbor za duboke poslovne analize. Ako velika tvrtka želi analizirati svoje prodajne rezultate u proteklih deset godina kroz milijarde računa kako bi predvidjela trendove za budućnost, za to postoje drugi, specijalizirani programi koji su bolji u rješavanju tako kompliciranih statističkih zadataka.