Koji vas proizvod asocira na Oracle? MySQL? Java? U ovom tekstu smo se odlučili pozabaviti njihovim, nama najzanimljivijim, proizvodima i vidjeti što se događa s njima, kako stoji konkurencija, po čemu su bolji ili lošiji od istih i još mnogo toga.
Pisali smo nedavno o Microsoftu i njihovim proizvodima, te je sada red na slijedećoj velikoj korporaciji, a to je Oracle. O Oracleu mnogi ne znaju puno osim da se radi o američkoj korporaciji koja stoji iza nekoliko popularnih softverskih rješenja. U ovom tekstu ćemo proći nekoliko njihovih proizvoda i vidjeti što se s njima događa, kako napreduju, da li su bolji od konkurenciji, ako nisu – zašto nisu i slično. Iako, teško je mnogo toga reći o Oracleu u jednom tekstu jer se radi o stvarno impresivnoj kompaniji koja je osnovana davne 1977. godine i do danas je ostala lider u određenim segmentima.
Da, nekada davno nije bilo toliko puno kompanija na tržištu, no bez obzira na to Oracle je sve ove godine bio top firma, razvijao se zajedno sa konkurencijom, a mnoge je i pokopao svojim proizvodima. Vjerojatno ste mnogo toga čuli i o jednom od osnivača – Larry Ellisonu. O njemu se vrlo često piše na raznim IT portalima, no sve manje ga se veže uz Oracle ili određene proizvode, a sve više u neke druge aktivnosti kao što su kupovina brodova i slično. Bez obzira na to, bez Larryja Ellisona ne bilo ni Oracle, zato pogledajmo koji su nama njihovi najzanimljiviji proizvodi.
Oracle – gotovo 50 godina na tržištu
Prije nego se pozabavimo konkretnim proizvodima, pogledajmo malo kako je Oracle krenuo i što sve zapravo ima u svojoj ponudi. Kao što smo rekli, radi se o kompaniji koja je na tržištu već gotovo 50 godina što je vrlo impresivno. Mali broj današnjih kompanija se može pohvaliti takvim stažem i portfoliom. Inače, Oracle ima sjedište u Redwood Cityju u Kaliforniji, ali naravno ima ogranke diljem svijeta. Postoji naravno i u Hrvatskoj što je vrlo pohvalno. Dotična kompanija je specijalizirana u razvoju i marketingu računalnih sustava, ali isto tako i u razvoju enterprise softverskih rješenja. Pogotovo kada govorimo o sustavima za pohranu podataka.
To im godišnje donosi milijarde dolara prihoda (2014.-te godine imali su prihode 38.27 milijardi dolara), a 2011.-te godine su bili druga kompanija sa najvećim prihodima, odmah iz Microsofta. U to vrijeme kompaniju je vodio spomenuti Larry Elisson koji je potkraj prošle godine objavio da se povlači sa mjesta izvršnog direktora, te se prebacio na mjesto CTO-a i izvršnog člana uprave. Što se tiče njihovih proizvoda, moramo reći da Oracle ima gotovo sve što možete zamisliti. Bave se razvojem softverskih rješenja, kupili su Sun Microsystems te tako dobili Java programski jezik, razvijaju razna middleware rješenja, baze podataka, kolaboracijske alate, poslovne alate… Sve što spada u enterprise rješenja, Oracle ima.
Vama su najvjerojatnije najpoznatiji njihovi proizvodi MySQL, Java, NetBeans, Solaris OS, Oracle Linux. Poslovnim korisnicima su poznatija vjerojatno razna poslovna rješenja kao što su Oracleov ERP (enterprise resource planning) sustav, CRM (customer relationship management) sustav, SCM (supply chain management) sustav …
MySQL
MySQL je besplatan, open source sustav za upravljanje bazom podataka. Uz PostgreSQL, MySQL je jedan od najčešćih izbora kod razvoja mnogih softverskih rješenja iz razloga što se radi o kvalitetnom proizvodu, a uz to je besplatan. MySQL se distribuira kao sastavio dio serverskih Linux distribucija, ali ga možete instalirati i na druge operativne sustave kao što su Windowsi, OS X, Solaris, FreeBSD … Inače, MySQL je bio vlasništvo kompanije MySQL AB, a kupio ih je Sun Microsystem 2008.-e godine. Kako je Oracle kupio Sun Microsystems, MySQL je u njihovom vlasništvu. Inače, Sun je platio za MySQL nevjerojatnih 1 milijardu dolara. Oracle posjeduje još neke tehnologije vezane za baze podataka, a to su Berkeley DB, Oracle Rdb, TimesTen, Oracle Essbase (tj. Hyperion Essbase), NoSQL … MySQL je RDBMS, odnosno Relational Database Management System. Relacijske baze podataka su temelj svakog dobrog i kvalitetnog informacijskog sustava jer se to pokazalo kao najbolji temelj za izgradnju IS-a. Pogotovo kada se radi o velikoj količini podataka, a želite da su informacije uvijek dostupne i da ih brzo možete „dohvatiti“ iz baze podataka.
Zašto volimo MySQL:
1) Podrška 0/24h – Iako je upitna Oracleova podrška korisnicima i u najboljem slučaju možemo reći da je solidna, MySQL – jer je open source – ima odličnu podršku. Ali ne od Oraclea nego od velike zajednice ljudi koja vam je spremna pomoći u bilo kojem trenutku i u vezi bilo čega. To je rezultat popularnosti MySQL-a i za očekivati je da će veliki broj ljudi aktivno sudjelovati u razvoju istoga, a samim time i pomoći onima kojima pomoć treba.
2) Nevjerojatno je jeftin – MySQL nije u potpunosti besplatan, tj. Cijena ovisi o vašim potrebama. Ona može varirati od besplatnog do 10000 dolara, ali većina zajednice koristi „besplatnu“ varijantu. Mnogi ne znaju da mogu koristiti i SQL Server od Microsofta, također besplatno kada je riječ o express verziji, a isti je bolji u performansama od MySQL-a. U svakom slučaju, MySQL je za većinu korisnika besplatan, kao i još neke druge varijante sustava za upravljanje bazom podataka.
3) Industrijski standard – Iako je MySQL-ova popularnost padala i rasla tokom godina, MySQL je ostao jedna od najpopularnijih RDBMS-a na svijetu i samim time praktički postao industrijski standard. Pogotovo što radi na praktički svim operativnim sustavima, kompatibilan je sa mnogim programskim jezicima i toliko se koristi da se sve „ravna“ prema MySQL-u.
Ono što nam se ne sviđa kod MySQL-a:
1) Ima problema sa stabilnošću – Iako bi mislili da je MySQL vrlo stabilan za korištenje jer ga posjeduje Oracle i jer ima toliko puno korisnika, bili biste u krivu. Problem je u određenim funkcionalnostima, ponekad zna koristiti 100% procesora, mogu nastati koruptirane tablice … Sve u svemu, postoje problemi koji se moraju riješiti.
2) Loše skaliranje – U teoriji MySQL može upravljati sa neograničenom količinom podataka, postoje problemi kada baza naraste i kada MySQL mora raditi puno paralelnih procesa. Tada dobivate osrednje ili loše performanse i trebali biste potražiti alternativu. Dok malo pišete i malo čitate po bazi, radi vrlo dobro. Što je više operacija uključeno i što su podaci veći, performanse opadaju.
3) Razvoj ne pokreće zajednica – Problem je što Oracle u biti ne prihvaća zakrpe koje rade korisnici. Oracle ima svoj put zacrtan za MySQL (op.a. iako je taj „put“ vrlo nejasan i još uvijek nije razrađen do kraja), u zadnjih par godina izdali su samo jednu veliku nadogradnju i ništa se ne pita programere i zajednicu korisnika. Možda kada bi se prihvatili savjeti i pomoć zajednice, MySQL bi postao mnogo bolji.
4) Funkcionalnosti uvelike ovise o addonovima – Iako je MySQL relativno lako instalirati i početi koristiti, činjenica je da nemate jako puno funkcionalnosti i da MySQL zaostaje za određenim alternativama na tržištu. Mogli bismo reći da veliki broj funkcionalnosti ovisi o dodatnim aplikacijama i addonovima. Njihovo postavljanje i korištenje ponekad može biti mukotrpno, pa se mnogi okreću čak i komercijalnim alternativama za koje su sigurni da kad plate da će dobiti sve što im treba.
5) Ograničenja smetaju programerima – MySQL nije 100 posto SQL kompatibilan i tu nastaju određena ograničenja. Ta ograničenja smetaju programerima koji žive od razvoja aplikacija, jer se sa banalnim stvarima moraju gnjaviti ponekad i danima da bi ih „doveli u red“, a možda se radi o problemu kojeg bi se trebalo moći riješiti u par minuta. Ovako morate tražiti „zaobilazne“ puteve kako biste sve riješili i kako bi bili sigurni da će MySQL odraditi kako treba.
Java
Java – trenutačno drugi najpopularniji programski jezik na svijetu. Zašto je Java toliko popularna? Zato jer se radi o jednom od najkonzistentnijih programskih jezika na tržištu koji je pokupio sve ono najbolje od „starijih“ programskih jezika. Java je prešla u vlasništvo Oraclea kada je Oracle kupio Sun Microsystems. Javu možete naći svuda – ona se nalazi u web i desktop aplikacijama, možete ju naći u Android uređajima, odnosno Android je napisan u Javi, možete ju pokretati na svim platformama, operativnim sustavima, uređajima …
Nema praktički toga uređaja na kojem ne biste mogli pokrenuti Javu. No da li je Java ipak toliko dobra ili je sve to prenapuhano? Rekli bismo jedno i drugo. Java je super objektno orijentirani programski jezik koji je dizajniran da bude portabilan i da radi na svim platformama. U teoriji to funkcionira, u praksi nažalost nije baš tako. Ako želite naučiti programirati, ne preporučamo da krenete od Jave. Radije probajte C ili C++. Ili još bolje – Python. Mnogi tvrde da je Java idealna za početnike jer vas odmah natjera da razmišljate analitički, da odmah počnete razmišljati kao programer i tako dalje … Ponavljamo – nismo uvjereni u to. Kako je Oracle preuzeo Javu, došle su dvije velike verzije od tada – Java 7 i Java 8.
Zadnja verzija je Java 8 koja je došla prije malo više od godine dana i moramo reći da smo prilično zadovoljni onime što je Oracle napravio od Jave unazad par godina koliko posjeduju Javu, no prostora za napredak ima. Pogotovo ako usporedimo Javu sa Microsoftovim C#-om i njihovim IDE-om Visual Studiom. Ako netko želi programirati na Microsoftovim tehnologijama, može početi u roku par minuta- Sve što treba je skinuti VS Express verziju i to je to. Java je malo kompliciranija, pogotovo za početnike. O IDE-u da ne govorimo. Zapravo budemo, ali malo kasnije u tekstu.
Java 8 je donijela nekoliko odličnih funkcionalnosti odnosno noviteta koje su pozdravili Java programeri, no pitanje je zašto tek sada? Jedna od takvih stvari je Lambda expression, odnosno Lambda izrazi. Nadalje tu su paralelne operacije, implementacija JavaScripta sa Javom, novi Date/Time API, „concurrent“ akumulatori, defaultne i statične metode za interface-e, bolje anotacije, imena parametara, streamovi, paralelni arrayji i još mnogo toga. Mnoge te stvari već godina postoje u C# jeziku, za kojeg mnogi govore da je nastao iz Jave što nije istina, neke stvari možete naći u Lispu iz prošlog stoljeća i slično. Da, Oracle radi na Javi, no vjerujemo da može brže i bolje. Vidjeli smo dugoročni plan koji imaju za Javu i moramo reći da nam se sviđa. Ne sviđa nam se što taj plan ide do 2025.-e godine, no što je tu je. Oracle je taj koji će diktirati tempo i izlaske novih verzija Jave.
NetBeans
Kako to obično biva, treba vam određeni IDE kako biste mogli programirati. Zapravo ne treba, ali je mnogo lakše programirati kroz IDE, nego preko editora, no o tome neki drugi put. NetBeans je Oracleaov IDE koji služi za programiranje u mnogim programskim jezicima, između ostalog u Javi, PHP-u, C/C++-u, Javi, možete pisati HTML kôd i tako dalje. Iz ovoga možete zaključiti da je NetBeans vrlo fleksibilan IDE kojeg možete prilagoditi svojim potrebama. Da, je u jednu ruku. U drugu ruku nije. NetBeans, kao i svi drugi Oracleovi proizvodi, radi na svim platformama tako da ga možete instalirati gdje god želite. Mi smo ga imali prilike koristiti na Linuxu, Solarisu i Windowsima i možemo reći da na svim platformama radi gotovo jednako.
Postoje određene sitne razlike, no to je praktički zanemarivo. No, za razliku od MySQL-a Oracle razvija NetBeans sa zajednicom korisnika koja ga koristi i to je ono što moramo pohvaliti. Praktički bilo tko unutar zajednice može predlođiti izmjene koje bi ovaj IDE učinile boljim. Mnogi od tih prijedloga, pogotovo kada se prijedlog svidi većem dijelu zajednice, bude implementiran u novu verziju NetBeansa ili u neku od njegovih zakrpa. Zadnja verzija je došla isti dan kada i Java 8, a to je bilo prije godinu dana. Kada smo već spomenuli Javu, moramo reći da većina Java developera koji ne žele plaćati IDE biraju između NetBeansa i Eclipsea. Mi smo aktivno koristili oba IDE-a pa ih možemo i uspoređivati. Iskreno rečeno, nama je draži Eclipse jer za njega imate mnogo više add-onova i možete ga više prilagoditi sebi i svojim potrebama.
Pogotovo kada u Javi razvijate sve vrste aplikacija – od weba do mobilnih aplikacija. NetBeans ima svojih prednosti, jedna od njih je stabilnost, no i mnogo nedostataka ako ga uspoređujemo sa Eclipseom. S druge strane – postoje i komercijalni IDE-ovi kao što je InteliJ IDEA koji je po nama najbolje rješenje za one koji rade sa Javom. Situacija sa NetBeansom nije crno-bijela i ne može se za njega reći da je loš ili da je odličan. Vjerujemo da je istina negdje u sredini.
Ono što nam se svakako sviđa je to što kada ga instalirate, imate odmah instalirane određene module za Javu i ne morate ih naknadno skidati. Druga stvar je da li vam ti moduli trebaju ili ne trebaju. Nadalje, jako lako se u njega integrira Swing alat za izradu GUI-ja i sve komponente možete slagati praktički sa drag-and-drop metodom. Ako ste ikada koristili Visual Studio, znati ćete kako je to. Tu su još naravno i standardni dodaci koje programeri vole – auto complete, prikazivanje grešaka u hodu dok pišete, mogućnost „polu-automatskog“ ispravljanja grešaka, ima version control ugrađen (iako toplo preporučamo korištenje nekog drugog VC-a) i još neke druge napredne verzije.
S druge strane, NetBeans je sporiji od Eclipsea, sporo se pokreće, koristi dosta memorije, korištenje naprednijih alata zahtjeva određeno vrijeme dok shvatite kako funkcioniraju … Probajte pa odlučite sami da li vam odgovara ili ne odgovara.
Oracle Linux
I za kraj ostavili smo Oracle Linux poznatiji još kao Oracle Enterprise Linux. To je Oracleova linux distribucija bazirana na popularnom Red Hatu. Oracle je „prepakirao“ Red Hat i koristi ga pod GNU licencom od 2006.-te godine. Možete ga skinuti potpuno besplatno preko Oracleovog E-delivery servisa i raznih mirror stranica. Ovo nije jedna od najpopularnijih Linux distribucija na tržištu no izrazito je dobra i prilično smo zadovoljni viđenim. Pošto je distribucija bazirana na Red Hatu, znači da je stabilna i da će raditi na mnogim uređajima, posebice serverima. Mada mnogi te „serverske“ distribucije instaliraju na stolna i prijenosna računala, samo sa manjim setom mogućnosti i dodataka. Jednostavno vam ne trebaju.
Ono što izdvaja Oracle Linux iz mase je što se ova distribucija distribuira sa dvije različite jezgre: jedna je ona kompatibilna sa Red Hatom, odnosno identična je njoj, a druga je UEK (Unbreakable Enterprise Kernel) i ona je bazirana na jednoj od novijih jezgri kako bi podržala SSD diskove, OLTP, InfinitiBand, NUMA-optimizaciju, RDS, asinkrono pisanje i čitanje, OCFS2 … Oracle tvrdi da su obje jezgre međusobno kompatibilne u što nismo 100 posto sigurno. Moramo im vjerovati na riječ dok se ne dokaže suprotno.
Što se hardverske kompatibilnosti tiče, Oracle Linux je isproban i certificiran na serverima od IBM-a, HP-a, Della, Lenova … i radi odlično. Znači nema nekakvih poznatih i velikih problema. Ponavljamo, razlog tome je što je Ova distribucija bazirana na popularnom Red Hatu koji se koristi na mnogim serverima diljem svijeta i daje fantastične rezultate i performanse. Ako ste Linux fan i volite probavati nove stvari, tada svakako probajte ovu distribuciju, pogotovo ako ste željeli probati Red Hat ali niste htjeli platiti 70 dolara za licencu. No isto tako vam možemo preporučiti i Linux Mint, Ubuntu, Fedoru … ova distribucija nije za „običnog“ korisnika ništa bolja od navedenih. Dobra je, ali sigurno ne spada u top 5 Linux distribucija.