Intervju je obavljen, a pitanja i odgovore mozete procitati ispod.
*** O MySQL-u ***
ES:
Reci nam, koju poziciju, po tvom misljenju, MySQL RDBMS zauzima trenutno na trzistu u odnosu na druge OpenSource RDBMS-e, a koju u odnosu na komercijalne?
SM:
Sto se tice pozicije, tu nije potrebno moje misljenje.
Tu brojke sve govore. Trenutno imamo 5 (pet) miliona instalacija u celom svetu, barem onih koji se mogu izbrojati. To su znaci sve instalacije koje su nam prijavljene ili koje Internet firme zaduzene za tu vrstu statistike su u stanju da izbroje.
Trenutno smo po broju instalacija prvi na svetu. Oracle je tu negde, a PgSQL ima manje od milion instalacija.
ES:
Da li MySQL u buducnosti namjerava otkinuti dio kolaca na podrucju Enterprise Business rjesenja ili ce i dalje ostati etiketiran kao baza za male i srednje firme ?
SM:
Mi smo poceli zestoko da se "uguravamo" u enterprise.
Imam za vas jednu informaciju, koja je jos uvek tajna za sve izvan MySQL-a, eto izuzev vas.
SAP aplikacije su prekjuce proradile sa MySQL 5.0 !!!!!!!!!!!!
To znaci da cemo za par meseci poceti da prodajemo SAP sa MySQL-om.
Mi smo jos od 2001. poceli da se uguravamo u taj deo trzista, otkada smo uveli InnoDB.
Nas prodor u enterprise trziste je 2001. - 2002. bio skroman. Od prosle godine su poceli da nas primecuju oni koji su to trzeste smatrali svojim.
Sada imamo dobar deo tog kolaca.
Mi sada imamo nekoliko hiljada klijenata (firmi), koje prodaju svoje enterprise programe strogo na enterprise trzistu i od svake te prodaje mi imamo prihod od licenci, a i od support-a.
Meni licno konkurencija bas na tom trzistu izuzetno godi.
Naime, to obicno ide ovako. Neka ogromna firma, kao na primer, General Motors, razmatra koji RDBMS da usvoji. Naprave aplikaciju koja radi sa dve ili tri baze, ukljucujuci MySQL.
Onda dodju i kazu:" Vi ste 15 % sporiji od baze A i 50 % sporiji od baze B".
To je za mene najveci moguci izazov. Taj posao mnogo volim da radim. Posebno mi prija kada cujem da je konkurencija poslala, nakon mojih optimizacija, tim od vise ljudi da probaju da pospese svoju instalaciju.
Samo ove godine sam imao okrsaje sa konkurencijom u osam ogromnih firmi. Svaki se okrsaj zavrsio nasom pobedom gde smo na kraju bili, u najgorem slucaju, 50 % brzi u proseku.
Pored mene, jos par kolega se bavi ovim poslom, tako da prakticno svake nedelje dovedemo neku ogromnu (vrednosti preko 2 milijarde dolara) i vrlo poznatu firmu.
Sve su to VRLO poznate firme, ali ih ne mogu pobrojati, jer je to poslovna tajna, na cemu nasi klijenti veoma insistiraju.
ES:
Kad bi MySQL prestao da bude OpenSource projekat i da se potpuno komercijalizuje (recimo iznos do $3000 za licencu), kako bi se to reflektovalo na buducnost MySQL-a? Tada bi dobijao vise novca i mogao bi zaposliti vise developera, pa bi i razvoj napredovao. Sa druge strane, OpenSource zajednica bi osudila taj postupak, a mogucu reakciju ne moze niko ni da zamisli. Da li je to uopste moguce ili je to samo neostvariva i nezamisliva pretpostavka?
SM:
Ne. To nije moguce, to je neostvariva i nezamisliva pretpostavka. To bi imalo katastrofalne posledice po MySQL.
Sta bi se desilo ??
Svi oni koji dzabe koriste MySQL bi presli na nesto drugo.
Svi oni produkti za MySQL, koji se sada nude besplatno, i koji toliko znaci i nasim korisnicima i nasim klijentima bi prestali da podrzavaju MySQL. To bi nam otelo jako puno klijenata.
Mozete li vi zamisliti MySQL bez PHP-a, Perl-a i sl ?? Bez MyPHPAdmin-a, MOODSS-a itd ???
Svi kursevi, forumi, news grupe, mailing liste, sve bi to nestalo.
Kada toga nema, i broj klijenata bi se drasticno smanjio.
Cak smo i MySQL Cluster izdali sa GPL licencom iz tog razloga.
Mi smo Open Source iz sebicnih razloga !!!
ES:
Marten Mickos, MySQL's CEO, izjavio je jednom prilikom da se MySQL drzi jednog principa iz 14. vijeka (Occam's razor):"No complexity beyond what is necessary". To bi se moglo tumaciti da MySQL razvija samo one komponente i dodaje samo one dodatke, koje veliki klijenti zahtijevaju, odnosno za kojima postoji najveca potraznja. Da li to onda znaci da postoji neka "komercijalna" klasifikacija na osnovu koje MySQL AB planski odredjuje sta ce se ubaciti u noviju verziju?
SM:
Ne.
Morate razumeti mog prijatelja Mickos-a. Ja mogu da pricam ovde sta god hocu, a on mora strava da pazi sta izjavljuje.
Mi se trudimo, koliko je to moguce, da izigravamo produkt sa manje funkcija od nekih najpoznatijih produkata. Mi jednostavno tu igramo "low profile" igru koliko mozemo, dok im sa druge strane otimamo enterprise klijente maksimalno.
Vi toga najverovatnije niste svesni, ali u pitanju je prilicno opasna igra.
ES:
Koje sve feature (dodatke) ce MySQL imati u buducnosti, kao sto su npr. stored procedures, triggers, views, podrska za XML i sl. ?
SM:
To uglavnom sve imamo.
Stored procedures i views su vec u funkciji u 5.0.
Ja sam sa zadovoljstvom napravio nekoliko bitnih odlika SP (Stored Procedures nap.a.) i ispravio odredjeni broj bagova za iste u zadnjih godinu i po dana. To jednostavno vec sada radi.
Trigeri ce doci za jedno godinu dana u 5.1.
XML export vec sada maksimalno postoji kod svih klijent programa, a import se sada radi za neke GUI produkte.
ES:
Konstatacija: MySQL zaostaje po performansama na velikim bazama (reda vise gigabajta) i uglavnom ne uspeva da iskoristi mogucnosti masine (slabo se skalira), jer jedan query koliko sam shvatio izvrsava samo jedan thread. Sa tacke gledista korisnika ispada da mysql uopste nije threaded software.
Q1: Da li je ovo tacno?
Q2: Da li se planiraju neke promene na tom planu?
Q3: Postoji li workaround za ovo koji bi ipak omogucio skaliranje?
SM:
Ovo je jako lepo pitanje.
Mnogo hvala na istom, jer je to nesto na cemu sada prilicno radimo.
Prvo jedna ispravka. Velika baza nije baza reda vise gigabajta nego vise terabajta. Gigabajti su sada JAKO male baze.
Imamo sada otprilike dvadesetak (a mozda i nesto vise) klijenata koji placaju za support, koji imaju vise od 0.5 TB podataka. Sada kolega i ja pravimo okvir projekta za firmu (jedna od 5 najjacih u svetu) koja planira oko 10 TB.
Sto se tice thread-ova, tacno je da u vecini slucajeva jedan query izvrsava jedan thread. Ima izuzetaka. MyISAM zna da dodaje index ili ispravlja tabelu sa N thread-ova (konfigurabilno) InnoDB zna da radi INSERT / UPDATE / DELETE sa dva thread-a.
To medjutim u ogromnoj vecini slucajeva UOPSTE nije bitno. Za scaling je taj feature prilicno nebitan. Zasto ?? Zato sto u stvarnom zivotu na opterecenim instalacijama imate retko ispod 20 - 100 upita koji se istovremeno izvrsavaju. Sta vam onda znaci izvrsavanje upita u vise thread-ova. Pa koliko to CPU-a imate ??? 40 - 200 ??
Ovo o cemu vi pricate ima smisla samo kod benchmarking-a. E tu ako trci jedan upit, onda je stvarno bitno da se taj isti rasporedi na par thread-ova (threads = niti na srpskom). Ali i ti benchmarci sa pravom ustupaju mesto multi-threaded benchmarcima, kakvi su nasi fork ili super-smack ili najnoviji TPC benchmarks.
Samo sam u jednom slucaju pozeleo da imamo tu funkcionalnost. Radilo se o HP SupreDome masini sa 128 procesora.
ES:
Mnogi kazu da je PostgreSQL baza bolja od MySQL-a. Oba RDBMS-a su OpenSource. Oba RDBMS-a ne rade previse na podrucju marketinga. Kako to onda da je MySQL vise zastupljen u odnosu na PostgreSQL ?
SM:
Ako bi pitali kolege iz PgSQL-a oni se sa vama ne bi slozili. Naprotiv, oni tvrde da je nas marketing agresivan, sto je
tacno.
Mi strava mnogo radimo na marketingu, ali tihom. Svaki dan bar 2 - 3 clanka.
Ja sa time, naravno nemam nista.
Zasto je MySQL vise zastupljen ????
Ja licno mislim zbog jednostavnije instalacije i administracije. I zbog toga sto nama ne treba VAKUUUUUUUUUUM.
ES:
Mozes li opisati par situacija u kojima bi se trebao koristiti MySQL umjesto nekih skupljih RDBMS-a ?
Da obradimo i neki konkretni primjer. Mozes li nam ukratko objasniti, u slucaju da neka firma sa 20-30 zaposlenih ima potrebu za bazom podataka, zasto bi ona trebala koristiti MySQL (ili zasto ne) i koliko novaca godisnje bi ta firma morala izdvojiti za MySQL Commercial licencu + support ?
SM:
Do 2001 bi mogao da opisem gomilu situacija gde bi trebalo koristiti komercijalni software. Danas su to retki slucajevi.
Tesko mogu i da se setim koji.
Recimo, ako koristis aplikativni server, koji ide samo sa bazom A. Ili ako zelis full text search po PDF-u ili RTF-u . I slicno ...
Sto se tice te firme, ako ista ne prodaje software, koji trci sa MySQL-om onda ne treba da da ni dinara za licencu.
Sto se support-a tice, zavisi od toga kakav je support potreban. Imamo siroku lepezu u toj ponudi, od 1000 EURO-a do 50.000 EURO-a.
ES:
Navedi 10 najvecih firmi koje koriste MySQL.
SM:
Vrlo nezgodno pitanje. Mogu navesti samo i iskljucivo one koje su se javno deklarisale u novinama da koriste MySQL. To, nazalost, nisu i one najinteresantnije, koje moram da precutim, iz gore opisanih razloga.
Evo jednog VRLO kratkog spiska. One koje imaju zvezdicu su firme koje zahtevaju da im ja licno pruzam support:
Yahoo
Google
* Intel Corporation
Novell
* Hewlett-Packard
* Sabre
Sun
* NASA
Ericsson
Associated Press
Ponavljam. Najbolja imena nisam smeo da navedem.
Najvise volim da radim sa Intel-om, iz sebicnih razloga. Poklanjaju hardware. Pre dve godine sam dobio dual PIII Xeon, a sada mi stize neki strava IWILL multi-CPU server sa UPS-om itd ........ Za dzabe ....
ES:
Koja je tacno tvoja radna pozicija u MySQL AB i mozes li opisati jedan svoj radni dan?
SM:
Ovo su dva pitanja a ne jedno .... ;o)
Ali, za oba je zajednicko da su se strava menjali od 1998. na ovamo. 1998. nas je bilo troje u firmi, a sada nas je 150.
Poceo sam kao programer, zapravo tacnije kao Developer. Radio sam na dodavanju novih funkcija u serveru, kao na pr. GRANT, UNION's, sub-selects, derived tables, ROLLUP i stotine drugih.
To su bila divna vremena i zeleo bih opet to da radim. Sada za to nema vremena i jedino od programiranja sto radim je ispravljanje bagova, sto mnogo volim da radim.
Sada, nazalost, 90 % mog radnog vremena provodim upravljajuci nasim komercijalnim support-om. Taj support ne podrazumeva samo podrsku klijentima, koji za isti placaju, vec i consulting (remote i on-site), kao i pre-sales support, koji sam gore objasnio.
Onih 10 % koristim za ubijanje bagova u serveru i jednom u dva meseca stignem da dodam i nesto novo.
Sto se tice radnog vremena i to se menjalo.
Prve cetiri godine sam radio 12 - 16 sati dnevno, 7 (sedam) dana nedeljno bez odmora i icega. Nakon toga su stigle posledice u vidu narusenog zdravlja, sto nije ni cudno.
Nakon toga sam poceo da smanjujem i danas sam na 9 - 10 sati denvno, sest dana nedeljno. Ali svaki minut (ima izuzetaka kao ovo pisanije) je iskoriscen sa maksimalnom koncentracijom.
Sta radim. U zadnje vreme najvise e-mail. Kada prodje spam i virus filter, meni stize dnevno izmedju 700 i 1000 poruka, od cega je 25 % nebitno. Ostalo mora da procitam, a na neke i da odgovorim.
Dnevno posaljem izmedju 100 i 250 poruka. Hvala Bogu, te sam "slepi kucac".
Pored toga zurim u debugger, u IRC gde izdajem uputstva, savete i komande kolegama iz support team-a ili diskutujem za kolegama iz development-a. Neki customer-i koji puno placaju mi se javljaju na ICQ.
Pored toga koristim gomilu alata (svi su nasi interni i nema ih u javnosti) na nasim internim WWW stranicama, za support, bagove, klijente itd.
Isto tako, u svakom trenutku sam prikljucen u proseku na 3 masine po svetu, ili jureci neki bug ili pomazuci klijentu.
To je to otprilike. WWW surfanje radim pola sata nedeljno. Zadnji put sam igrao neku igricu pre pet godina.
ES:
Kakvo misljenje imas o MySQL certification programu i uopste o samim sertifikatima ?
SM:
Nemam misljenje o certifikatima. Mi nikoga, na primer, ne zaposljavamo na osnovu certifikata. Svako se kod nas zaposljava nakon testa koji traje najmanje nedelju dana, obicno dve. Ko prezivi ........
Sto se tice MySQL certifikata, mislim da je relativno dobar. Ja sam tu malo pomogao.
ES:
Koju bi knjigu o MySQL-u mogao preporuciti?
SM:
E to znam.
U ormanu imam 20 knjiga koje sam sve dobio besplatno jer sam autorima kobajagi pomagao. Ili nisam ni pomagao, ali me pominju u knjizi u kojoj su o nekom mom produktu, na primer MySQL++, posvetili poglavlje.
Najbolja knjiga je nas Manual, izdao ga (mislim) O'Reilly.
Nakon toga su ubedljivo najbolje knjige mog predivnog druga Paul DuBois-a. Izdaje ih, mislim, Riders.
ES:
Zasto se na logotipu MySQL-a nalazi delfin i zasto je dobio ime Sakila ?
SM:
Ja nisam strucnjak za marketing.
*** Uopsteno + privatno ***
ES:
Da li si upucen u stanje IT branse na podrucju bivse Jugoslavije i kako bi ga trenutno opisao? Sta bi se moglo popraviti da "balkansko" trziste bude perspektivnije?
SM:
Ne znam puno o tome, jer sam u zadnjih 5 godina u Srbiji bio 3 dana.
Samo mogu da govorim na osnovu onoga sto mi kazu moji drugari.
Situacija je i tuzna i ruzna.
Kada najbolji ljudi odu u inostranstvo, onda klince i nema ko da uci.
Situacija je ZNATNO bolja u Hrvatskoj i Sloveniji.
Ne moze informatika u Srbiji da stoji bolje sa takvom privredom i opstim stanjem.
ES:
Kako uskladjujes tzv. "kompjutersku ovisnost" sa bracnim zivotom?
SM:
Ocajno lose. Moja zena me grdi skoro svaki dan. Uvece me odvlaci klestima na veceru oko 11.
Moj licni zivot se desava u par sati pauza i nedeljom. Ali i u tome uzivam neopisivo mnogo.
ES:
Da li si ikad razmisljao o osnivanju vlastite firme i cime bi se ona bavila ?
SM:
Ne. Uopste nemam smisla za biznis. Nismo svi za sve talentovani.
Da stvar bude gora, mislim da bi mi trebalo bar 3 meseca da se presaltam na nesto drugo.
ES:
Kako si ti shvatio OpenSource filozofiju i kako bi ju interpretovao mladjim generacijama?
SM:
Velika je razlika izmedju OpenSource-a i besplatnog software-a.
Prvo je samo filozofija razvoja a drugo je mnogo sire.
O ovome bi mogao da pricam satima, naravno. To ima i prednosti i mane.
Osnovno je to da je vrlo sirok krug ljudi uvucen u razvoj software-a, iako je to u 99 % slucajeva testiranje, ali i to je VEOMA znacajno.
Vrlo sirok krug ljudi testira, predlaze i pravi svoje pratece produkte i usluge koje obogacuju osnovni produkt. Neka vrsta masovne filozofije.
ES:
Navedi nam par komicnih pitanja vezanih za support na koja si morao dati odgovor.
SM:
Ima dosta.
Pre cetiri godine sam prestao da komuniciram sa besplatnim mailing listama, tako da se ovo dole odnosi samo na klijente koji placaju.
Na primer:
"Sta je to JOIN ???"
"Zasto MySQL stane kada iskljucim masinu ??"
"Kako da dobijem C: prompt ??"
"Nakon 16 sati lupanja Control-C moj program je pukao. Zasto ??"
#######################################################
Ako imate jos neko pitanje, komentar i slicno, izvolite ovdje napisati konkretno i jasno.
Da citiram Sinišu:"... Pored toga, ako moji odgovori iniciraju jos neko pitanje, moze i to dodatno. Dakle, dopustam jos jednu kratku rundu...".
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA