MySQL



Seminarski rad iz: Baza PodatakaTema: MySQLSadr?aj: TOC \o "1-3" \h \z \u UVOD PAGEREF _Toc197611211 \h 2Kako je do?lo do pojave MySQL-a PAGEREF _Toc197611212 \h 3Kako u osnovi funkcioni?e MySQL PAGEREF _Toc197611213 \h 3Glavne karakteristike MySQL PAGEREF _Toc197611214 \h 4Za?to MySQL umesto neke druge baze podataka PAGEREF _Toc197611215 \h 6Prednosti i mane MySQL-a PAGEREF _Toc197611216 \h 8Prednosti MySQL-a: PAGEREF _Toc197611217 \h 9Brzina: PAGEREF _Toc197611218 \h 9Pouzdanost: PAGEREF _Toc197611219 \h 9Mala zahtevnost za sistemskim resursima: PAGEREF _Toc197611220 \h 10Fleksibilno pobolj?avanje performansi: PAGEREF _Toc197611221 \h 10Rad na razli?itim platformama: PAGEREF _Toc197611222 \h 10Podr?ava veliku koli?inu programskih jezika: PAGEREF _Toc197611223 \h 10ODBC PAGEREF _Toc197611224 \h 11Besplatno ili povoljno licenciranje: PAGEREF _Toc197611225 \h 11Povoljna komercionalna podr?ka: PAGEREF _Toc197611226 \h 11Jaka podr?ka korisnika: PAGEREF _Toc197611227 \h 11Dostupnost izvornog koda: PAGEREF _Toc197611228 \h 12Mane MySQL-a: PAGEREF _Toc197611229 \h 12Nedostatak nekih mogu?nosti SQL-a: PAGEREF _Toc197611230 \h 12Nedostatak ozbiljnijih testiranja na odre?enim platformama: PAGEREF _Toc197611231 \h 13Komplikovano rukovanje izvornim kodom: PAGEREF _Toc197611232 \h 14Zaklju?ak PAGEREF _Toc197611233 \h 14Korisni linkovi: PAGEREF _Toc197611234 \h 15Literatura: PAGEREF _Toc197611235 \h 17UVODSlika 1.MySQL (Slika 1.) je sistem za upravljanje SQL bazama podataka. Baza podataka je strukturno povezan skup podataka. BP mo?e biti bilo ?ta od obi?ne liste za kupovinu preko popisa slika umetni?ke galerije pa sve do goleme koli?ine podataka u korporacijskim mre?ama. Za dodavanje, pristupanje i obra?ivanje podataka u BP potreban je sistem za upravljanje bazama podataka kao ?to je MySQL. Budu?i da se kompjuteri odli?no snalaze pri obradi velikih koli?ina podataka, sistemi za upravljanje bazama podataka igraju centralnu ulogu u ra?unarstvu, kao samostalni alati ili kao deo drugih aplikacija.MySQL se dobro snalazi i sa relacijskim bazama podataka. Relacijska baza podataka je baza podataka koja podatke pohranjuje u odvojene tabele umesto u jednu tabelu. Ovo omogu?uje br?i i fleksibilniji rad sa bazama podataka. Tabele su povezane definisanim relacijama ?to omogu?uje kombinovanje podataka iz nekoliko tabela u slu?aju da postoji zahtev za to. Re? SQL u MySQL zna?i "Structured Query Language" (strukturni jezik za pretra?ivanje) – naj?e??i standardizovan jezik za pristupanje bazama podataka.MySQL je open-source proizvod, ?to zna?i da je dozvoljeno svakome da ga koristi i prilago?ava za svoje potrebe. Svakome je omogu?en download MySQL sa Interneta i kori??enje bez obveze pla?anja. MySQL spada pod GLP (GNU General Public License). Tako?e postoji MySQL Enterprise verzija programa koja nije besplatna i koja nudi dodatne opcije naprednim korisnicima.Za?to koristiti MySQL?Vrlo je brz, pouzdan i lagan za kori??enje. Tako?e ima vrlo prakti?ne dodatne opcije razvijene u bliskoj saradnji sa korisnicima. MySQL je originalno razvijan za manipulaciju vrlo velikih baza podataka, mnogo je br?i od postoje?ih re?enja i uspe?no se koristi u visoko zahtevnim okru?enjima. Pristupa?nost, brzina i sigurnost ?ine MySQL vrlo pogodnim za pristupanje bazama podataka preko Interneta.Ako Vam treba brza, pouzdana i fleksibilna baza podataka, rad sa MySQL-om bi?e ostvarenje snova bez obzira na primenu.Kako je do?lo do pojave MySQL-alLjudi koji su osnovali dana?nji MySQL-AB su prvobitno ?eleli da za povezivanje tabela u njihovim BP koriste mSQL uz pomo? njihovih br?ih (ISAM) rutina. Ali posle iscrpnih testiranja dolaze do zaklju?ka da mSQL jednostavno nije dovoljno brz niti dovoljno fleksibilan za njihove potrebe. Ovo je rezultovalo pojavom novog SQL interfejsa za BP sa skoro identi?nim API-em (Application programming interface) kao kod mSQL-a. Kako je MySQL dobio svoje ime nije u potpunosti jasno. Svi osnovni folderi i velika koli?ina lib-ova i alata su imali prefiks “\my” vi?e od deset godina. Sa druge strane ?erka Michael "Monty" Widenius-a se zove “My”. Tako da ?ak ni zaposlenici kompanije ne znaju koja je pri?a istinita.Kako u osnovi funkcioni?e MySQLMySQL softver se sastoji od MySQL server-a, nekoliko dodatnih utility programa koji slu?e za olak?avanje administracije BP, tako?e dolaze i dodatni programi koji su potrebni za rad servera. Srce sistema naravno ?ini MySQL server, on je ustvari “menad?er” sistema BP. Kroz njega prolaze sve instrukcije korisnika koje vr?e upravljanje nad bazom podataka. Na primer ako korisnik ?eli da napravi novu BP posla?e MySQL serveru slede?u poruku “create a new database and call it newdata”. MySQL server ?e tada u svom folderu napraviti podfolder koji ?e nositi naziv “newdata”. Ako tu novu bazu ?elite jo? da pro?irite, vo?eni prethodnim primerom, posla?ete novu poruku odnosno komandu MySQL serveru sa ta?nim odredi?tima gde ?elite da se podaci dodaju. Ali pre nego ?to mo?emo da komuniciramo sa serverom moramo da pokrenemo isti i da proverimo da li je pode?en da o?ekuje zahteve. U ve?ini slu?ajeva MySQL server se pokre?e zajedno sa ra?unarom i radi neprestano. Ovakav re?im rada je tipi?an za Web sajtove. Naravno nije obavezno da se server pokre?e sa uklju?ivanjem ra?unara uvek postoji mogu?nost manuelnog uklju?ivanja kada ?elite da pristupite va?oj bazi podataka. Kada je pokrenut MySQL server konstantno o?ekuje poruke koje su upu?ene njemu.Glavne karakteristike MySQLSlede?a lista opisuje neke od va?nijih karakteristika MySQL-a:Program je osposobljen za potpuno iskori??enje vi?ejezgarnih procesora.C, C++, Ei_el, Java, Perl, PHP, Python i Tcl APIs.Radi na mnogo razli?itih platformi.Mogu? je izbor kucanja od: potpisanih ili nepotpisanih inted?era du?ine 1,2,3,4 i 8 Bajtova FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET i ENUM tipova.Veoma brzo pridru?ivanje kori??enjem optimizovanog vi?estrukog poveznika.Potpuna operaciona i funkcijska podr?ka u delovima SELECT i WHERE upitnika.SQL funkcije su implementirane kroz visoko optimizovanu klasu biblioteke i moraju biti brze koliko god mogu.Potpunu podr?ku za SQL GROUP BY i ORDER BY klauzule.Podr?ka za LEFT OUTER JOIN i RIGHT OUTER JOIN sa ANSI SQL i ODBC sintaksama.Mogu?nost me?anja tabela iz razli?itih baza podataka u istom upitniku.Privilegije i password-om za?ti?en sistem, jer je password osiguran i tek kada se konetkujete na server on vr?i enkripciju.ODBC (Open-DataBase-Connectivity) podr?ava Win32.Veoma brze B-tree disk tabele sa indeksom kompresije.Do 32 indeksa po tabeli je dozvoljeno. Svaki indeks mo?e da se sastoji od 1 do 16 kolona ili delova kolona. Maksimalna du?ina indeksa je 500 Bajtova.Zapisi fiksirane i promenjive du?ine.Rukuje sa ve?im bazama podataka.Sve kolone imaju defaultne vrednosti.Koristi GNU Automake, Autoconf i libtool za portabilnost.Pi?e u C i C++. A testiran je sa ?irokim spektrom razli?itih kompajlera.Veoma brz sistem za pronala?enje lokacije.Nema curenja memorije. Testirano sa komercijalnim detektorom za curenje memorije.Koristi myisamchk veoma brz program za proveravanje tabela, optimatizaciju i popravke. Potpuna podr?ka za nekoliko razli?itih karaktera.Svi podaci si sa?uvani u datom karakteru.Sva sortiranja se vr?e prema datom karakteru koji se upotrebljava. Mogu?e je menjanje karaktera tek kada se startuje MySQL server.Aliasi u tabelama i rovovima su dozvoljeni po SQL92 standardu.DELETE, INSERT, REPLACE i UPDATE vra?aju koliko god je potrebno kolona unazad.Imena funkcija ne poklapaju se sa imenima kolona i tabela.U svim MySQL programi mogu?e je dozvati pomo? i ostale asistent programe, tako?e je mogu?a i onlajn pomo?.Server mo?e pru?iti svojim klijentima upozorenja o gre?kama na mno?tvu jezika.Klijenti mogu da se konektuju na MySQL server koriste?i TCP/IP sokete, UNIX sokete ili NT.MySQL specijalna komanda SHOW mo?e se koristiti za povratak informacija o bazama podataka, tabelama i indeksima. EXPLAIN komanda se mo?e koristiti za determinisanje kako optimajzer re?ava upitnik.Za?to MySQL umesto neke druge baze podatakaPrevi?e baza podataka je prisutno na tr?i?tu da bismo ih upore?ivali u detalje ali ono ?to izdvaja MySQL bazu podataka od drugih baza podataka je to ?to je jeftinija i ima mnogo bolje performanse ?to ?e drugi proizvo?a?i te?ko nadma?iti.Performanse:MySQL je veoma brz program. Oracle, Microsoft i IBM tvrde da prodaju najbr?e baze podataka na svetu, ?to ne mora da zna?i jer dana?nji benchmark programi i rezultati mogu dokazati i potvrditi kvalitete koje proizvo?a? i sponzor garantuju iako se u praksi ne pokazuju tako. Na sajtu MySQL mo?ete da vidite pore?enja MySQL baze podataka sa drugim trenutno aktuelnim bazama i mo?ete videti da je MySQL daleko nadma?uje ostale baze u svim pogledima.Benchmark rezultati se mogu na?i na:rmation/benchmarks.htmlBrzina je oduvek bila glavna odlika MySQL baze podataka. Novi dodaci se stavljaju u MySQL jedino kad se uvere da to ne?e na?koditi performansama baza podataka. Ovo zna?i da se novine i dodaci retko i sporo stavljaju u MySQL prili?no sporije nego ?to bi korisnici ?eleli, ali sve je to za dobrobit korisnika i MySQL, jednostavno ?elja da program bude brz i bez gre?aka.Cena:Cena je ne?to ?to je najlak?e porediti. Za mnoge svrhe MySQL je besplatna aplikacija. GPL omogu?ava kori??enje softvera, pre nego originalnog koda, i distribuciju softvera drugim korisnicima ali pod uslovom da budu privr?eni GPL. Pod nekim okolnostima ako ?elite da redistibuirate MySQL kao deo komercijalnog proizvoda potrebna vam je komercijalna dozvola. Glavno pravilo MySQL centra za distribuciju je "if you are free, so are we; if you are commercial, so are we."Stabilnost:Ljudi koji prave MySQL oduvek su se hvalili da je stabilnost njihovih proizvoda glavna karakteristika i prioritet. Sve verzije MySQL se prave u binarnoj fazi i kao takve se pu?taju u rad sa testovima i MySQL test baze. Ovi testovi funkcionalnosti omogu?avaju pronala?enje gre?aka a gre?kama koje su ve? prona?li ne dozvoljavaju da se ponove. Stvaraoci MySQL posebnu pa?nju moraju da obrate na pronala?enje i ispravljanje gre?aka jer svaki njihov daljni rad bi bio onemogu?en ako prethodne gre?ke nisu ispravljene.Lako?a kori??enja:Niakakva komplikovana pode?avanja i prosedure nisu potrebne za pokretanje MySQL. MySQL radi kako se ka?e pravo iz kutije. Po?etna pode?avanja su name?tena na minimalno kori??enje hard diska i memorije. Ako ?elimo naprednija pode?avanja mora?emo da isklju?imo po?etna pode?avanja. Da bi nam jo? olak?ali u MySQL paket su stavljeni i primeri nekih funkcija i radova.Karakteristike:Pore?enje karakteristika zavisi od toga koja karakteristika nama najvi?e odgovara. MySQL ima neke karakteristike kao ?to su potpuno pretra?ivanje teksta, ponavljanje i podr?ka za masivne tabele, sve ove opcije ili nedostaju ili su izba?ene iz niskobud?etnih ponu?enih programa. Me?utim MySQL nedostaju sa?uvane procedure i vrste pogleda koji su standardni u visokobud?etnim re?enjima a javljaju se ?ak i u nekim jeftinijim verzijama. Svesni ovoga stvaraoci MySQL ?e u narednim re?enjima ovog programa ubaciti data re?enja. Neke od karakteristika koje poseduje MySQL , na primer mogu?nost zaklju?avanja redova, nemaju ni najskuplji programi koji se nalaze na tr?i?tu.Prednosti i mane MySQL-aPrednosti:■■ Brzina■■ Pouzdanost■■ Mala zahtevnost za sistemskim resursima■■ Fleksibilno pobolj?avanje performansi■■ Rad na razli?itim platformama■■ Podr?ava veliku koli?inu programskih jezika■■ ODBC ■■ Besplatno ili povoljno licenciranje■■ Povoljna komercionalna podr?ka■■ Jaka podr?ka korisnika■■ Dostupnost izvornog kodaMane:■■ Nedostatak nekih mogu?nosti SQL-a■■ Nedostatak ozbiljnijih testiranja na odre?enim platformama■■ Komplikovano rukovanje izvornim kodomPrednosti MySQL-a:Brzina:Srce MySQL koda je pisano u potpunosti od nule, a osnovni cilj je bio postizanje ?to boljih performansi. Ono ?to je ustvari i dovelo do nastanka MySQL-a je ?injenica da je Monty Widenius bio toliko frustiran sporo??u drugih programa na tr?i?tu da je odlu?io da napi?e MySQL. Veliki broj novih korisnika je bilo skepti?no i nije verovalo da je MySQL toliko br?i od konkurencije, ?ak su dovodili u pitanje da li je MySQL sposoban da zadovolji i njihove osnovne potrebe. Ljudi iz MySQL-a su predlo?ili da se napravi benchmark program koji ?e istestirati mogu?nosti MySQL-a i pokazati ?ta sve on ustvari mo?e. Rezultati testova su bili toliko neverovatni da su se novi korisnici bez pogovora odlu?ivali za MySQL. Veliki broj programa za vo?enje sistema baza podataka mo?e da primi izme?u 1000 i 2000 upita u sekundi na uobi?ajnom x86 hardveru (dual Pentium III 800MHz 1Gb ram). MySQL je sposoban da primi 13000 upita u sekundi na quad Pentium III 700MHz izvla?e?i rekord uz pomo? primarnog klju?a iz tabele sa milion rekorda. Tako da na pitanje ?Da li je MySQL dovoljno brz za moje potrebe?“ odgovor bi ?Da, i verovatno mnogo br?i od onogo ?to vam je potrebno.“ Naravno kao i svaki drugi program MySQL moze da bude spor u odre?enim situacijama, do ovoga mo?e do?i na primer ako ne obra?amo pa?nju na ta?nost komande kada ?aljemo upite. Ovo se mo?e izbe?i shvatanjem na?ina rada servera.Pouzdanost:MySQL je stekao reputaciju da mo?e da radi danima, pa ?ak i mesecima bez interverncije korisnika - nakon osnovnog pode?avanja. Naravno povremeno se javljaju problemi ili dolazi do otkrivanje gre?aka unutar programa ali to je uobi?ajno i za bilo koji drugi server baza podataka. Prava je retkost da ?padne“ MySQL server, ali kada do?e do toga vrlo lako se vra?a u prethodno stanje. Ova reputacija koju je stekao MySQL privukla je pa?nju nekolicine ozbiljnih korisnika koji su odlu?iji da sa komercionalnih programa pre?u na MySQL. Neki od njih su Yahoo! Finance, Cisco, Texas Instruments, the United States Census Bureau, NASA, Novell, Blue World Communications, Motorola i mnogi drugi. Razvojni tim je veoma fokusiran na pouzdanost i stabilnost. Bilo je slu?ajeva da su nove verzije MySQL-a odga?ane zbog minornih gre?aka u programu koje su bile otkrivene, ali nisu bile otklonjene. U slu?aju otkrivanja ve?e gre?ke razvoj trenutne verzije bi se obustavio i kretalo bi se od nule, a razvojni tim objavio bi javno izvinjenje svim korisnicima.Mala zahtevnost za sistemskim resursima:MySQL ce maksimalno iskoristiti resurse koje mu date. Naravno sa ?to vi?e resursa rapla?e performanse ?e biti bolje, ali minimalni resursi ne?e u?initi MySQL neupotrebljivim kao ?to se doga?a se nekim drugim serverima baza podataka. MySQL sasvim korektno radi i na konfiguracijama tipa Pentium 166Mhz i 32Mb RAM-a, ali bilo je iskustava i sa konfiguracijama koje su imale i slabije specifikacije od gore navedene. Minimum RAM memorije koji je dovoljan za pokretanje MySQL-a je izme?u 2 i 3MB-a pa je teoretski mogu?e pokrenuti MySQL i na sistemima sa 4MB RAM-a.Fleksibilno pobolj?avanje performansi:Provereno je u praksi da MySQL veoma dobro skalira performanse na sistemima sa do 4 procesora i do 4GB-a RAM-a i u potpunosti iskori??ava mogu?nosti sistemskih resursa. Tako?e je utvr?eno da se dobro snalazi sa tabelama koje imaju nekoliko milijardi zapisa. MySQL se bez problema nosi sa ?ak do 1500 korisnika u isto vreme bez zna?ajnijeg pada performansi. Vrlo je verovatno da krajnji limiti skaliranja performansi MySQL-a uop?te nisu ni utvr?eni. U trenutku pisanja ovog teksta MySQL developeri nisu uspeli da ispitaju hardverske i softverske granice, tako da se najvi?e oslanjaju na izve?taje njihovih korisnika o pona?anju MySQL-a pod optere?enjem. Ako bi ikad zahtevnost prerasla mogu?nosti servera, uvek ostaje mogu?nost povezivanja vi?e servera u jedinstven sistem i tako razdeliti optere?enje.Rad na razli?itim platformama:MySQL ima mogu?nost rada na razli?itim arhitekturama i operativnim sistemima. Operativni sistemi koji se frekventno koriste su Linux, Windows, Solaris i FreeBSD. MySQL tako?e radi i na Irix, HP-UX, AIX, SCO, Tru64, OpenBSD, NetBSD, i Mac OS X.Podr?ava veliku koli?inu programskih jezika:Kada radite na razvoju aplikacija za upravljanje bazama podataka, jedna od najve?ih briga vam je da li ?e te mo?i povezati va?u aplikaciju sa serverom baza podataka koriste?i odre?eni programski jezik. I na ovom polju se MySQL izdi?e iznad konkurencije po?to programeri sa MySQL-om mogu komunicirati koriste?i C/C++, PHP, Perl, Java, Python, TCL, Ruby i Eiffel.ODBCPored velike podr?ke za programske jezike, MySQL tako?e ima podr?ku za ODBC. Ovo pru?a programeru mogu?nost da kreira aplikacije koriste?i Open Database Coonnectivity (ODBC) standard. Podr?ka za ODBC tako?e pru?a mogu?nost da se MySQL koristi sa drugim menad?erima baza podataka koji imaju ODBC. Neki od tih aplikacija su Microsoft Acces, Microsoft Excel, Crystal Reports i mnogi drugi. MySQL zahvaljuju?i ODBC-u mo?e da se koristi u kombinaciji sa Visual Basic-om, Delphi-em, ASP-om (Active Server Pages), ColdFusion-om. BorlandBuilder-om i mnogim drugim razvojnim alatima i okru?enjima.Besplatno ili povoljno licenciranje:MySQL se distribuira pod odredbama GPL-a (General Public License) koje su propisali ljudi iz FSF-a (Free Software Foundation). Prema ovoj licenci korisnik mo?e da koristi software potpuno besplatno kako za nekomercionalne svrhe tako i za komercionalne svrhe. Ovo zna?i da se MySQL distribuira korisnicima potpuno besplatno, osim kada se korisnik odlu?uje za MySQL Enterprise za koji je potrebno pla?anje dodatne licence. U slu?aju da je licenca potrebna da li iz razloga da organizacija u kojoj se koristi softver ne dozvoljava kori??enje GPL proizvoda ili se korisnik odlu?i za Enterpise re?enje licenciranje se mo?e zatra?iti od MySQL AB-a i to po veoma povoljnim uslovima. Licenca za jedan server iznosi 200$, ali cena drasti?no pada pove?avanjem broja licenci. Licence se izdaju po serveru i ne ograni?avaju broj korisnika.Povoljna komercionalna podr?ka:Za one koji ?ele da koriste MySQL za zahtevnije poslove veoma je bitna kvalitetna korisni?ka podr?ka. ?ak i da ne do?e do problema korisnik ?e se ose?ati mnogo sigurnije ako bude znao da postoji neko kome se mo?e obratiti ako kojim slu?ajem do problema do?e. Da ovakve podr?ke nema korisnicima bi bilo mnogo te?e opredeliti se za MySQL. MySQL AB pru?a raznoliku podr?ku po veoma razumnim cenama uklju?uju?i i svakodnevnu telefonsku podr?ku. Cene se kre?u od 1500$ za osnovni paket pa sve do 48000$ za delux paket. Po?to na va?a pitanja odgovaraju sami developeri ne?ete morati da pri?ate sa nekoliko ljudi pre nego ?to dobijete odgovore na va?a pitanja.Jaka podr?ka korisnika:MySQL je vi?e od obi?ne baze podataka, osniva?i MySQL-a su se oduvek trudili da zajednici njihovih korisnika daju ?to vi?e. Korisnici su na to odgovorili lojalno??u i predano??u. Kakvog efekta ovo ima na enterprise korisnika. Najo?igledniji efekat je da pored standardne podr?ke koju pru?a MySQL dodatnu podr?ku mo?e dobiti od ostalih korisnika. Ako bi ste postavili neko pitanje vezano za MySQL na nekom forum ili IRC kanalu koji ima veze sa bazama podataka vrlo je verovatno da ?e te u vrlo kratkom roku dobiti odgovore. Za raliku od klasi?ne podr?ke za ta?nost ovih odgovora MySQL AB ne garantuje ali i korisni?kim komunama se mogu na?i veliki eksperti koji daju odli?ne savete. Ovakav vid podr?ke mo?ete uporediti sa pecanjem, ako znate da pecate mo?ete dobiti besplatnu ribu iz jezera, ako ne znate pecati ili vam se jednostavno ne ide do jezera uvek mo?ete oti?i u prodavnicu i kupiti ribu. Jo? jedna od dobrih strana korisni?kih komuna je ?injenica da vrlo lako mo?ete na?i eksperte koji bi bili voljni da rade za vas. Jo? jedan od dobrih aspekata je “sigurnost za opstanak”. Velika briga korisnika softvera manjih kompanija je budu?nost tog proizvoda i same kompanije. ?ak i da MySQL AB prestane sa radom korisnici bi uz pomo? izvornog koda odr?ali program u ?ivotu.Dostupnost izvornog koda:Mogu?nost pristupa MySQL-ovom izvornom kodu je veoma velika prednost posebno za korisnke koji u svom stru?nom kadru imaju iskusne C/C++ programere. Ovo vam omogu?uje da vr?ite razna prilago?avanja, pobolj?anja, izmene, popravke gre?aka bez potrebe da ?ekate na izdava?a softvera da to u?ini. Jo? jedna od prednosti otvorenog koda je mnogo manja verovatno?a da ?e do?i do gre?aka u kodu ili do lo?eg koda, jer otvoreni kod mo?e svako da vidi i mnogo je manje verovatno da ?e neki programer ?eleti da svi vide da mu se potkrala gre?ka u kodu.Mane MySQL-a:Nedostatak nekih mogu?nosti SQL-a:Ovo predstavlja vi?estruke probleme u povezivanju postoje?ih aplikacija sa MySQL-om. Ako va?a aplikacija koristi neku od osobina koju MySQL nema, mora?ete da reprogramirate te delove aplikacije pre nego ?to je pove?ete sa MySQL-om. U nekim slu?ajevima ovo mo?e biti iscrpljuju?i zadatak. Mnogi znalci iz IT sveta smatraju da neke opcije koje MySQL trenutno nema se pod hitno moraju dodati. Mnogi programeri su navikli da koriste te opcije i one predstavljaju esencijalni deo njihovo programerskog repertoara. Ovaj nedostatak MySQL-a ponekad zna da odvra?a potencionalne korisnike. Reakcija korisnika bi se mogla uporediti sa ?ovekom koji je svoj ceo ?ivot vozio automobil sa automatskim menja?em i sada mora da pre?e na manuelni.S druge strane iskusniji MySQL korisnici su navikli da ?ive sa ovim nedostacima ?ak i u?ivaju u izazovu da zaobi?u ove nedostatke. Izazvano nu?no??u situacije programeri ?esto otkrivaju i mnogo elegantnija re?enja od onih koje su do sad koristili. Prona?li su na?ine da iskoriste mogu?nosti MySQL-a do punog potencijala i bez obzira na nedostake zala?u se za rasprostranjivanje MySQL-a. Isto kao ?to voza? koji koristi manuelni menja? uvek posti?e ve?u maksimalnu brzinu od onoga sa automatskim menja?em. Zbog ovih nedostataka profesionalni korisnici imaju podeljeno mi?ljenje oko upotrebe MySQL-a. I sada se ponovo postavlja pitanje da li je MySQL dovoljno dobar? U realnosti MySQL je vi?e nego dobar za izgradnju baze podataka u kombinaciji sa ve?tim i kreativnim developerima. Problem se javlja kada su programeri ?vrsto vezani za neki drugi program. Njihovo zalaganje u radu sa MySQL-om ne bi bilo ni pribli?no zalaganju kada bi radili sa nekim drugim programom. Ako je ovakvo stanje u radnoj organizaciji iz ?isto ekonomskih razloga ne bi imalo smisla forsirati radnike da koriste MySQL. S druge strane radnike bi mogao da obraduje rad sa drugim programom i da za vrlo kratak period na?u na?in da prebrode ove nedostatke. MySQL AB je svestan ovih nedostataka i rade na tome da ih u narednih nekoliko godina otklone.Nedostatak ozbiljnijih testiranja na odre?enim platformama:MySQL AB ima veoma strikne standarde i svoje proizvode uvek propu?ta kroz nekoliko zahtevnih testova, ali tu se testiranje zavr?ava. Slede?a serija testova se javlja kada novu verziju programa sa interneta preuzme i po 20000 korisnika dnevno instalira na razli?itim sistemima i prilagodi za rad sa njihovim bazama podataka. U toku ovog procesa mogu se otkriti razno razne gre?ke i sistemski problemi koji jednostavno nisu mogli da budu ustanovljeni unutar kompanije. Gre?ke se prijavljuju MySQL AB-u i obi?no se otklanjaju veoma brzo, ali MySQL AB jako zavisi od feedback-a korisnika.Kao rezultat svega ovoga mo?emo uo?iti da stabilnost i performanse MySQL-a ne odre?enoj platformi zavise od broja korisnika na odre?enoj platformi. ?to je ve?i broj korisnika manje su ?anse da ?e neki kriti?na gre?ke ostati neotkrivena.Iako se MySQL AB trudi da njihov proizvod bude ?to vi?e cross-platform i da ne favorizuju neku platformu ispred ostalih, razlika u broju korisnika na odre?enim platformama dovodi do toga da MySQL bolje radi na nekim platformama. Prema odre?enim prora?unima oko 40% korisnika koristi MySQL na x86 Linux plaformi, 25% korsnika ga koristi na Windows platformi, 15% odlazi na FreeBSD, 15% na SPARC Solaris i 5% na sve ostale platforme.Po nivou kvaliteta onih preostalih 5% ?e uvek zaostajati za ostalima. Naravno ne treba misliti da MySQL ne funkcioni?e kako treba na tim platformama. ?ak po informacijama koje se dobijaju od korisnika ustanovljeno je da se MySQL sasvim dobro snalazi i na tim platformama, ?to je ustvari posledica dobro napisanog izvornog koda. Dobro napisan izvorni kod ima daleko ve?e ?anse da radi bez ikakvih problema i na platformama koje zvani?no nisu testirane. MySQL AB se naravno trudi da pro?iri platforme na kojima vr?i testove i da proveri stabilnost i sistemima kao ?to su AIX i HPUX. Mo?emo o?ekivati da kako se kompanija bude ?irila da ?e ova mana u potpunosti nestati.Komplikovano rukovanje izvornim kodom:Ranije je ve? napomenuto koliko je zna?ajno ?to je omogu?en pristup izvornom kodu programa. Imati izvorni kod definitivno omogu?uje veliku fleksibilnost u radu korsnika. Ali kad radite sa kodom kojeg je neko drugi napisao prvo morate da ga razumete da bi vam bio od zna?aja. Kod MySQL servera je relativno te?ko shvatiti, ?ak i iskusniji C/C++ programeri imaju problema sa razumevanjem ovog koda. Retko ko se uop?te usu?uje da menja kod. Postoje dva razloga zbog kojih je ovaj kod toliko kompleksan. Prvo to je kod servera baza podataka ?to zna?i da je kod optimizovan da ?to bolje organizuje podatke na disku, minimalizuje upotrebu diska, ubrza pristup memoriji i ras?lanjuje upite. Ovakav kod nebitno koliko je dobro napisan bi bio veoma kompleksan. Drugi razlog je zbog takozvanog “efekta genijalnog koda”. Samu osnovu izvornog koda napisao je Montz Widenius koji je u programerskim krugovima dobio nadimak “Mocart kompjuterskog programiranja”. Dobar programer bi u?ivao gledaju?i njegov kod isto toliko koliko bi ?ovek sa dobrim sluhom u?ivao u Mocartovim delima. Da bi neko u potpunosti razumeo ovaj kod mora da ima istu inspiraciju kakvu je imao Monty u tom trenutku i da shvati kako i za?to je taj kod napisan tako. ?ak i najbolji programeri su ovo nalazili kao veoma velik izazov. Naravno ovaj izazov se mo?e prebroditi, pa je razvojni tim MySQL-a uspeo da ovlada tom virtuozno??u.Zaklju?akMySQL je vrlo sposoban relacioni klijent/server sistem baza podataka. Veoma je siguran i kompatabilan je sa velikim brojem aplikacija. Tako?e odnos cena/kvalitet je fenomenalan i to ne samo zato ?to je MySQL besplatan, nego zato ?to su njegove hardverske potrebe veoma skromne. Ali iznad svega treba ista?i da u svetu Linux operativnih sistema MySQL se sve vi?e koristi od strane drugih aplikacija za vo?enje njihovih internih baza podataka bez obzira da li se radi o pobolj?anju logovanja podataka, upravljanju kolekcijama MP3 fajlova, e-mail-ova, adresa ili ne?ega drugog. MySQL kod Linux aplikacija zauzima onu ulogu koju ima Jet Engine kod Microsoft-ovih operativnih sistema, ali u ve?ini slu?ajeva MySQL pru?a bolje performanse od Jet Engine-a. Zahvaljuju?i ODBC interfejsu, MySQL se sad koristi i u svetu Windows operativnih sitema kao direktna zamena Jet Engine-u. Osim sa tehni?ke strane MySQL je u prednosti nad ostalim open source sistemima baza podataka jer je rasprostranjeniji od ostalih. Treba dodati da je MySQL mnogo podrobnije testiran i ispitan na razli?itim platformama, a i mnogo je lak?e na?i developera koji ima iskustvo sa MySQL-om nego sa bilo kojim drugim open source sistemom baza podataka. Ipak MySQL jo? uvek ne mo?e da se nosi sa ?velikim momcima“ iz sveta komercijalnih baza podataka. Malo je verovatno da ?e te odabrati MySQL ako on nema neke mogu?nosti koje su vama potrebne.Korisni linkovi:MySQLTutorials and Manuals_ MySQL Tutorial on how to install and set up MySQL on a Windows machine._ lot of MySQL tutorials._ manual in Chinese._ Up a MySQL-based Web site._ tutorial._ new Perl modules that require locally installed modules._ Tutorial._ on tutorial for MySQL.Porting MySQL/Using MySQL on Di_erent Systems_ Mac OS Xclave. Running MySQL on Mac OS X_ for Mac OS X Server._ MySQL for Mac OS X_ libraries for the Macintosh.Perl-related Links_ DBI with MySQL FAQ.MySQL Discussion Forums_ using MySQL; (check Top 20)_ Web Discussion mercial Applications that Support MySQL_ ; Interactive helpdesk on the Web (This product includes a licensedcopy of MySQL.)_ - Stratos Web and Application server - An easy-to-use, cross platform, Internet/Intranet development and deployment system for development of web-enabledapplications. The standard version of StWeb has a native interface to MySQL database._ Now Web; Web automation for customer service._ ; Interactive Discussion Forums with Web interface._ Clients and Report Writers_ Editor/Utility for MS Windows Platforms._ MySQL client._ is a database client for KDE that primarily supports MySQL.Version: 3.23.28-gamma Printed: 18 November 200016 Chapter 1: General Information About MySQL_ Windows GUI client by David Ecker._ ; a MySQL client for database management. Written in Perl. Will be a part ofBazaar._ - A client that supports MySQL, Interbase and PostgreSQL._ free report writer in Java_ - Export of MySQL create statements and data in a lot of di_erentformats (SQL, HTML, CVS, text, ZIP, GZIP...)Distributions that Include MySQL_ SuSE Linux (Suse 6.1 and above)Web Development Tools that Support MySQL_ : A server-side HTML-embedded scripting language._ Midgard Application Server; a powerful Web development environment based onMySQL and PHP._ is a platform for Web application development._ : e(X)tendible (S)erver (P)ages and is a HTML embedded tag language written inJava (previously known as XTAGS.)_ Administrator's Guide and Language Reference (2nd Edition) by MySQL AB (Paperback - May 7, 2006)MySQL Enterprise Solutions by Alexander ""Sasha""" Pachev (Paperback - Feb 4, 2003)MySQL: Essential Skills by John Horn, Michael Grey, and LLC Interstate Software (Paperback - Jun 10, 2004)PHP & MySQL For Dummies 3rd edition (For Dummies (Computer/Tech)) by Janet Valade (Paperback - Nov 20, 2006)The Definitive Guide to MySQL 5, Third Edition (Definitive Guide) by Michael Kofler (Paperback - Sep 23, 2005)en.MySQL ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download