Kdo z vas objektivne meril rychlost DB? Mam pocit ze rychlost u MySQL je tak trosku zavadejici. Protoze v realu musi pak aplikace suplovat funkci DB a nemyslim, ze rychlost se zvysi, kdyz operace, ktere muze delat procedura nebo trigger, resi pro DB a tedy i data "externi" aplikace.
Navic od DB ocekavam trochu vice nez jen proste ukladani dat a jejich vybery.
Vim ze MySQL vyplnuje na trhu urcitou mezeru "skorodatabaze" :), ale ta uvadena rychlost je zavadejici. Mela by se k ni pripocitat i doba potrebna aplikaci pro dodatecnou kontrolu dat
Nicmene na ulozeni informaci o mych domacich mazliccich je plne vyhovujici:)))))))
A vase zkusenost drazi?
Ty testy odpovídají praktickému nasazení, pro které se MySQL hodí. Takže se testují prakticky jen selecty (hodně selectů) a s daty se prakticky nehýbe. Pokud potřebujete větší konkurenci klientů, kteří s daty manipulují, nebo přenést část logiky do vrstvy databáze (hlídání konzistence dat, automatické akce apod.), není MySQL vhodná volba. Proto se také u tohoto typu aplikací rychlost MySQL netestuje.
U každého databázového engine, ať už je to Firebird, MySQL nebo třeba Oracle, je potřeba mít na paměti, pro jakou oblast aplikací je konstruován a pro jakou oblast aplikací je vhodný. Extrémní názory typu "XYZ je ideální ve všech případech." nebo "XYZ se nehodí k ničemu." nemají smysl.
To je taky extremni nazor. Dovolim si dalsi extrem, psat tak, abych mel prenositelnost z Oraclu nebo MSSQL na MySQL je nicemnost a zvrhlost, a skoda prace a penez. Prenositelnost je hezka vec, ale nesmi to byt zaklinadlo. Sikovnym navrhem aplikace se necha z kazde databaze vyzdimat co se da!
Budto pisu maly veci a pouziju MySQL, nebo potrebuju dabelskou rychlost a pouziju taky MySQL, nebo umim jen MySQL a pouziji zas jen MySQL. Nebo se snazim aplikaci rozvrstvit, resim pristupy do db, zalohovani, pri hodinovym vypadku databaze naklady lezou do sta tisicu, pak pouziju MSSQL nebo Oracle (podle lidi, zeleza, systemu), nebo zas o tolik nejde, tak muzu pouzit Firebird nebo PostgreSQL nebo neco levneho co clovek zna. Dle Vericha, kumst je se spravne rozhodnout.
S většinou souhlasím. Jenom bych upřesil, že termín "malý věci" na začátku druhého odstavce se vztahuje spíše k velikosti metadat než dat. MySQL zvládá dobře i velké databáze (co do objemu dat), do úzkých se dostává (autor systému) v okamžiku, kdy je složitá jejich struktura.
Jinak jako možného konkurenta Oracle u "velkých" systémů bych viděl spíš DB/2. MS SQL je až "druhá liga", společně třeba se Sybase.
P.S. Verich???
"Druha liga"... tak presne o tom Pavel mluvil. Neni to zadna druha liga, s MSSQL a Sybase se musi pocitat a je chyba, kdyz to pri rozhodovani, kterou platformu pouzit, neuzavujes. V nekterych situacich je MSSQL nejlepsi, o tom neni sporu. Napr. kdyz klient ma MS Windows server, chce indexovat Word dokumenty a podobne... O zadne druhe lize nemuze byt ani rec!
Psat prenositelne informacni systemy je podle me blbost. Kdyz uz se pro neco rozhodnu, najmu programatory, mam delat support, tak se to musi dotahnout do konce. Vseho s mirou. A to ze nejaky webovy pocitadlo bezi na vice SQL serverech to je jasny. Vzdyt tam zadna logika neni...
JE TO DRUHÁ LIGA, no spíš třetí.
Dělám pro MSSQL už čtvrtý rok, předtím Oracle a je to NEUVĚŘITELNÉ utrpení.
Skoro nic to neumí a nepodporuje, neustále vnitřní chyby (třídění, integrita dat, stárnutí a "hnití" velkých uložených procedur), na nic se nedá spolehnout (náhodné chyby=neopakovatelné).
Prostě děs a hrůza. Kdybych měl možnost, tak od toho jdu okamžitě pryč!!
Pred par lety jsem chtel u zakaznika nasadit aplikaci s InterBase verze 4. Kdyz jsme to meli naplanovane, tak se bohuzel objevila Sybase (rodna sestra MSSQL) pro Linux. A protoze zakaznik je Sybaseidni, tak to chtel pod Sybase. A my, abychom se vyrovnali s vecmi, ktere Sybase neumi, napr. insert trigger pred operaci a i jine "drobnosti", jsme to cele museli nadesignovat uplne znovu. A tim myslim nejen databazi, ale uplne cely system i s datovymi toky. Musim konstatovat, ze Sybase byla a stale je oproti IB druha liga.
Tak jsem si to po sobe precetl, no pani lingviste snad prominou... ;-))
Termín "druhá liga" jsem použil s ohledem na zmíněné high-end aplikace, extrémní zátěže a high availability, tedy oblast, kde je doma Oracle (a DB/2). Tam MS SQL těmto dvěma prostě konkurovat nemůže. Jinak je samozřejmě pravda, že existují aplikace, kde je nejlepší volbou MS SQL, stejně jako exitují aplikace, kde je nejlepší volbou MySQL.
Me se ta analogie s ligou proste nelibi. RDBMS je RDBMS, nekdy lepsi, jindy horsi. Kvalitu muze posoudit kazdy sam. Jsou situace, kdy DB/2 nebo Oracle nasadit proste nelze. Samozrejme se ale priklanimk nazoru, ze MS SQL je draha a ne moc kvalitni RDBMS, navic nedostupna pro Linux.
Tak ještě jednou, asi mám problém vyjádřit se srozumitelně. Označení "druhá liga" se netýkalo jakési abstraktní "kvality", ale výhradně schopnosti zvládat extrémní zátěže. Tedy přesně toho, čeho se týkal původní příspěvek. Na systém, kde má databáze pár MB a transakce se počítají v jednotkách za minutu, se samozřejmě Oracle ani DB/2 nehodí - jenže o tom tu řeč nebyla. Doufám, že už je to jasnější a že to nebude potřeba opakovat potřetí.
z Vaseho e-mailu je videt, ze jste jeden z tech informatiku, kteri se pohybuji v prostredi "skutecnych" inzenyru (ve vasem pripade stavaru). Prekvapuje me, ze ta aura toho skutecneho inzenyrstvi nepronika i na katerdu informatiky (ci jak se jmenuje). Vzdyt jsou okolo lide, kteri perfektne vedi co je modularita, interface, objekt. A kdyz opustite svou kancelar, tak muzete sledovat , ze 90 % cinnosti tech skutecnych inzenyru je rutinni cinnost. Jak to, ze se nasnazite tyto tisicilete zkusenosti aplikovat v informatice. Okolo Vas se to dnes a denne praktikuje. A vas navrh je, jit na to mnozstvi programu, ktere jsou zapotrebi vzdycky s "projektem". Projekt, ve kterem se ti nejschopnejsi zamysli pokud mozno nad vsemi detaily nejakeho problemu, aby pozdeji zjistili , ze prece jen nemysleli na vsechno - samozrejme pote, kdy je "to vsechno" jiz zabetonovano v databazovem navrhu - nejake konkretni databaze (smula je, ze potecialni zakaznik ma jiz jinou v provozu). *velky udiv*
Jestli to bylo na mne, tak jsem zrovna z katedry inzenyrske informatiky. Myslim, ze tusim co je interfacem a modularita. Prave, ze se sikovne navrhne framework, tak je vam jedno jestli vzadu je db2, PostgreSQL, MySQL nebo Oracle. Co uberete na aplikacni urovni to pridate na urovni databaze a naopak. Podstatne je, ze zmeny se nesiri dale v kodu. Melo by byt samozrejma, ze kdyz vyvyjite aplikaci, tak se zamyslite nad prenositelnosti - a dobre navrzena aplikace asi i bude dobre prenositelna. Setkal jsem se ale s programatorem, pro kteryho prenositelnost bylo tabu. Dalo mi celkem praci ho presvedcit, ze neni nic jednodussiho, nez si proste zkusit kod na Oraclu a pak na MSSQL. Zmeny na aplikacni urovni byly minimalni, a vysledek snad o neco lepsi.