Intervju: Siniša Milivojević, MySQL AB

Wednesday, 04.10.2006 – Dejan

Za one koji ne znaju, Siniša Milivojević je MySQL Senior Support Manager i Developer. Obratio sam mu se sa željom da napravimo jedan E-Mail intervju prvenstveno o MySQL-u i OpenSource-u, na što je on rado pristao. Intervju je obavljen 05.06.2004., tako da neke informacije o MySQL-u i nisu baš aktuelne, ali vrijedi pročitati.

DT = Dejan Topalović
SM = Siniša Milivojević

*** O MySQL-u ***

DT:
Reci nam, koju poziciju, po tvom mišljenju, MySQL RDBMS zauzima trenutno na trž
ištu u odnosu na druge OpenSource RDBMS-e, a koju u odnosu na komercijalne?

SM:
Što se tiče pozicije, tu nije potrebno moje mišljenje.

Tu brojke sve govore. Trenutno imamo 5 (pet) miliona instalacija u celom svetu, barem onih koji se mogu izbrojati. To su znači sve instalacije koje su nam prijavljene ili koje Internet firme zadužene 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.

DT:
Da li MySQL u budućnosti namjerava otkinuti dio kolača na području Enterprise Business rješenja ili će i dalje ostati etiketiran kao baza za male i srednje firme ?

SM:
Mi smo počeli žestoko da se “uguravamo” u enterprise.

Imam za vas jednu informaciju, koja je još uvek tajna za sve izvan MySQL-a, eto izuzev vas.

SAP aplikacije su prekjuče proradile sa MySQL 5.0 !!!!!!!!!!!!

To znači da ćemo za par meseci početi da prodajemo SAP sa MySQL-om.

Mi smo još od 2001. počeli da se uguravamo u taj deo tržišta, otkada smo uveli InnoDB.

Naš prodor u enterprise tržište je 2001. – 2002. bio skroman. Od prošle godine su počeli da nas primećuju oni koji su to tržište smatrali svojim.

Sada imamo dobar deo tog kolača.

Mi sada imamo nekoliko hiljada klijenata (firmi), koje prodaju svoje enterprise programe strogo na enterprise tržištu i od svake te prodaje mi imamo prihod od licenci, a i od support-a.

Meni lično konkurencija baš na tom tržištu izuzetno godi.

Naime, to obično ide ovako. Neka ogromna firma, kao na primer, General Motors, razmatra koji RDBMS da usvoji. Naprave aplikaciju koja radi sa dve ili tri baze, uključujući i MySQL.

Onda dođu i kažu:” Vi ste 15 % sporiji od baze A i 50 % sporiji od baze B”.

To je za mene najveći mogući izazov. Taj posao mnogo volim da radim. Posebno mi prija kada čujem da je konkurencija poslala, nakon mojih optimizacija, tim od više ljudi da probaju da pospeše svoju instalaciju.

Samo ove godine sam imao okršaje sa konkurencijom u osam ogromnih firmi. Svaki se okršaj završio našom pobedom gde smo na kraju bili, u najgorem slučaju, 50 % brži u proseku.

Pored mene, još par kolega se bavi ovim poslom, tako da praktično 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 čemu naši klijenti veoma insistiraju.

DT:
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 budućnost MySQL-a? Tada bi dobijao više novca i mogao bi zaposliti više developera, pa bi i razvoj napredovao. Sa druge strane, OpenSource zajednica bi osudila taj postupak, a moguću reakciju ne može niko ni da zamisli. Da li je to uopšte moguće ili je to samo neostvariva i nezamisliva pretpostavka?

SM:
Ne. To nije moguće, to je neostvariva i nezamisliva pretpostavka. To bi imalo katastrofalne posledice po MySQL.

Šta bi se desilo ??
Svi oni koji džabe koriste MySQL bi prešli na nešto drugo.

Svi oni produkti za MySQL, koji se sada nude besplatno, i koji toliko znači i našim korisnicima i našim klijentima bi prestali da podržavaju MySQL. To bi nam otelo jako puno klijenata.

Možete 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 drastično smanjio.

Čak smo i MySQL Cluster izdali sa GPL licencom iz tog razloga.

Mi smo Open Source iz sebičnih razloga !!!

DT:
Marten Mickos, MySQL’s CEO, izjavio je jednom prilikom da se MySQL drži jednog principa iz 14. vijeka (Occam’s razor):”No complexity beyond what is necessary”. To bi se moglo tumačiti da MySQL razvija samo one komponente i dodaje samo one dodatke, koje veliki klijenti zahtijevaju, odnosno za kojima postoji najveća potražnja. Da li to onda znači da postoji neka “komercijalna” klasifikacija na osnovu koje MySQL AB planski određuje šta će se ubaciti u noviju verziju?

SM:
Ne.

Morate razumeti mog prijatelja Mickos-a. Ja mogu da pričam ovde šta god hoću, a on mora strava da pazi šta izjavljuje.

Mi se trudimo, koliko je to moguće, da izigravamo produkt sa manje funkcija od nekih najpoznatijih produkata. Mi jednostavno tu igramo “low profile” igru koliko možemo, dok im sa druge strane otimamo enterprise klijente maksimalno.

Vi toga najverovatnije niste svesni, ali u pitanju je prilično opasna igra.

DT:
Koje sve feature (dodatke) će MySQL imati u budućnosti, kao što su npr. stored procedures, triggers, views, podrška za XML i sl. ?

SM:
To uglavnom sve imamo.

Stored procedures i views su već u funkciji u 5.0.

Ja sam sa zadovoljstvom napravio nekoliko bitnih odlika SP (Stored Procedures nap.a.) i ispravio određeni broj bagova za iste u zadnjih godinu i po dana. To jednostavno već sada radi.
Trigeri će doći za jedno godinu dana u 5.1.

XML export već sada maksimalno postoji kod svih klijent programa, a import se sada radi za neke GUI produkte.

DT:
Konstatacija: MySQL zaostaje po performansama na velikim bazama (reda više gigabajta) i uglavnom ne uspeva da iskoristi mogućnosti mašine (slabo se skalira), jer jedan query koliko sam shvatio izvršava samo jedan thread. Sa tačke gledišta korisnika ispada da mysql uopšte nije threaded software.
Q1: Da li je ovo tačno?
Q2: Da li se planiraju neke promene na tom planu?
Q3: Postoji li workaround za ovo koji bi ipak omogućio skaliranje?

SM:
Ovo je jako lepo pitanje.

Mnogo hvala na istom, jer je to nešto na čemu sada prilično radimo.

Prvo jedna ispravka. Velika baza nije baza reda više gigabajta nego više terabajta. Gigabajti su sada JAKO male baze.

Imamo sada otprilike dvadesetak (a mozda i nešto više) klijenata koji plaćaju za support, koji imaju više od 0.5 TB podataka. Sada kolega i ja pravimo okvir projekta za firmu (jedna od 5 najjačih u svetu), koja planira oko 10 TB.

Što se tiče thread-ova, tačno je da u većini slučajeva jedan query izvršava 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 međutim u ogromnoj većini slučajeva UOPŠTE nije bitno. Za scaling je taj feature prilično nebitan. Zašto ?? Zato što u stvarnom životu na opterećenim instalacijama imate retko ispod 20 – 100 upita, koji se istovremeno izvršavaju. Šta vam onda znači izvršavanje upita u više thread-ova. Pa koliko to CPU-a imate ??? 40 – 200 ??

Ovo o čemu vi pričate ima smisla samo kod benchmarking-a. E tu ako trči jedan upit, onda je stvarno bitno da se taj isti rasporedi na par thread-ova. Ali i ti benchmarci sa pravom ustupaju mesto multi-threaded benchmarcima, kakvi su naši fork ili super-smack ili najnoviji TPC benchmarks.

Samo sam u jednom slučaju poželeo da imamo tu funkcionalnost. Radilo se o HP SupreDome mašini sa 128 procesora.

DT:
Mnogi kažu da je PostgreSQL baza bolja od MySQL-a. Oba RDBMS-a su OpenSource. Oba RDBMS-a ne rade previše na području marketinga. Kako to onda da je MySQL više zastupljen u odnosu na PostgreSQL ?

SM:
Ako bi pitali kolege iz PgSQL-a, oni se sa vama ne bi složili. Naprotiv, oni tvrde da je naš marketing agresivan, što je tačno.
Mi strava mnogo radimo na marketingu, ali tihom. Svaki dan bar 2 – 3 članka.

Ja sa time, naravno nemam ništa.

Zašto je MySQL više zastupljen ????

Ja lično mislim zbog jednostavnije instalacije i administracije. I zbog toga što nama ne treba VAKUUUUUUUUUUM.

DT:
Možeš li opisati par situacija u kojima bi se trebao koristiti MySQL umjesto nekih skupljih RDBMS-a ?
Da obradimo i neki konkretni primjer. Možeš li nam ukratko objasniti, u slučaju da neka firma sa 20-30 zaposlenih ima potrebu za bazom podataka, zašto bi ona trebala koristiti MySQL (ili zašto ne) i koliko novaca godišnje bi ta firma morala izdvojiti za MySQL Commercial licencu + support ?

SM:
Do 2001. godine bih mogao da opišem gomilu situacija gde bi trebalo koristiti komercijalni software. Danas su to retki slučajevi.

Teško mogu i da se setim koji.
Recimo, ako koristiš aplikativni server, koji ide samo sa bazom A. Ili ako želiš full text search po PDF-u ili RTF-u i slično …
Što se tiče te firme, ako ista ne prodaje software, koji trči sa MySQL-om, onda ne treba da da ni dinara za licencu.

Što se support-a tiče, zavisi od toga kakav je support potreban. Imamo široku lepezu u toj ponudi, od 1000 EUR-a do 50.000 EUR-a.

DT:
Navedi 10 najvećih firmi koje koriste MySQL.

SM:
Vrlo nezgodno pitanje. Mogu navesti samo i isključivo one koje su se javno deklarisale u novinama da koriste MySQL. To, nažalost, nisu i one najinteresantnije, koje moram da prećutim, iz gore opisanih razloga.

Evo jednog VRLO kratkog spiska. One koje imaju zvezdicu su firme koje zahtevaju da im ja lično pružam support:

Yahoo
Google
* Intel Corporation
Novell
* Hewlett-Packard
* Sabre
Sun
* NASA
Ericsson
Associated Press

Ponavljam. Najbolja imena nisam smeo da navedem.

Najviše volim da radim sa Intel-om, iz sebičnih razloga. Poklanjaju hardware. Pre dve godine sam dobio dual PIII Xeon, a sada mi stiže neki strava IWILL multi-CPU server sa UPS-om itd …….. Za džabe ….

DT:
Koja je tačno tvoja radna pozicija u MySQL AB i možeš li opisati jedan svoj radni dan?

SM:
Ovo su dva pitanja a ne jedno …. ;o)

Ali za oba je zajedničko da su se strava menjali od 1998. na ovamo. 1998. nas je bilo troje u firmi, a sada nas je 150.

Počeo sam kao programer, zapravo tačnije 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 želeo bih opet to da radim. Sada za to nema vremena i jedino od programiranja što radim je ispravljanje bagova, što mnogo volim da radim.

Sada, nažalost, 90 % mog radnog vremena provodim upravljajući nasim komercijalnim support-om. Taj support ne podrazumeva samo podršku klijentima, koji za isti plaćaju, već 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 nešto novo.

Što se tiče radnog vremena i to se menjalo.
Prve četiri godine sam radio 12 – 16 sati dnevno, 7 (sedam) dana nedeljno bez odmora i ičega. Nakon toga su stigle posledice u vidu narušenog zdravlja, što nije ni čudno.

Nakon toga sam počeo da smanjujem i danas sam na 9 – 10 sati dnevno, šest dana nedeljno. Ali svaki minut (ima izuzetaka kao ovo pisanje) je iskorišten sa maksimalnom koncentracijom.

Šta radim? U zadnje vreme najviše e-mail. Kada prođe spam i virus filter, meni stiže dnevno između 700 i 1000 poruka, od čega je 25 % nebitno. Ostalo moram da pročitam, a na neke i da odgovorim.

Dnevno pošaljem između 100 i 250 poruka. Hvala Bogu, te sam “slepi kucač”.

Pored toga zurim u debugger, u IRC gde izdajem uputstva, savete i komande kolegama iz support team-a ili diskutujem sa kolegama iz development-a. Neki klijenti koji puno plaćaju mi se javljaju na ICQ.

Pored toga koristim gomilu alata (svi su naši interni i nema ih u javnosti) na našim internim WWW stranicama, za support, bagove, klijente itd.

Isto tako, u svakom trenutku sam priključen u proseku na 3 mašine po svetu – ili jureći neki bug ili pomažući klijentu.

To je to otprilike. WWW surfanje radim pola sata nedeljno. Zadnji put sam igrao neku igricu pre pet godina.

DT:
Kakvo mišljenje imaš o MySQL certification programu i uopšte o samim sertifikatima ?

SM:
Nemam mišljenje o certifikatima. Mi nikoga, na primer, ne zapošljavamo na osnovu certifikata. Svako se kod nas zapošljava nakon testa, koji traje najmanje nedelju dana, obično dve. Ko preživi ……..

Što se tiče MySQL certifikata, mislim da je relativno dobar. Ja sam tu malo pomogao.

DT:
Koju bi knjigu o MySQL-u mogao preporučiti?

SM:
E to znam.

U ormaru 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 naš Manual, izdao ga (mislim) O’Reilly.
Nakon toga su ubedljivo najbolje knjige mog predivnog druga Paul DuBois-a. Izdaje ih, mislim, Riders.

DT:
Zašto se na logotipu MySQL-a nalazi delfin i zašto je dobio ime Sakila ?

SM:
Ja nisam stručnjak za marketing.
*** Uopšteno + privatno ***

DT:
Da li si upućen u stanje IT branše na području bivše Jugoslavije i kako bi ga trenutno opisao? Šta bi se moglo popraviti da “balkansko” tržište 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 kažu moji drugari.
Situacija je i tužna i ružna.
Kada najbolji ljudi odu u inostranstvo, onda klince i nema ko da uči.

Situacija je ZNATNO bolja u Hrvatskoj i Sloveniji.
Ne može informatika u Srbiji da stoji bolje sa takvom privredom i opštim stanjem.

DT:
Kako usklađuješ tzv. “kompjutersku ovisnost” sa bračnim životom?

SM:
Očajno loše. Moja žena me grdi skoro svaki dan. Uveče me odvlači kleštima na večeru oko 11.

Moj lični život se dešava u par sati pauza i nedeljom. Ali i u tome uživam neopisivo mnogo.

DT:
Da li si ikad razmišljao o osnivanju vlastite firme i čime bi se ona bavila ?

SM:
Ne. Uopšte nemam smisla za biznis. Nismo svi za sve talentovani.
Da stvar bude gora, mislim da bi mi trebalo bar 3 meseca da se prešaltam na nešto drugo.

DT:
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 šire.

O ovome bih mogao da pričam satima, naravno. To ima i prednosti i mane.
Osnovno je to da je vrlo širok krug ljudi uvučen u razvoj software-a, iako je to u 99 % slučajeva testiranje, ali i to je VEOMA značajno.
Vrlo širok krug ljudi testira, predlaže i pravi svoje prateće produkte i usluge, koje obogaćuju osnovni produkt. Neka vrsta masovne filozofije.

DT:
Navedi nam par komičnih pitanja vezanih za support na koja si morao dati odgovor.

SM:
Ima dosta.
Pre četiri godine sam prestao da komuniciram sa besplatnim mailing listama, tako da se ovo dole odnosi samo na klijente koji plaćaju.

Na primer:

“Šta je to JOIN ???”

“Zašto MySQL stane kada isključim mašinu ??”

“Kako da dobijem C: prompt ??”

“Nakon 16 sati lupanja Control-C moj program je pukao. Zašto ??”

*** KRAJ *** 

 Originalna tema na EliteSecurity.org 

Post a Comment